Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.98 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. class elementD{ private: int info;
  5. class element *next;
  6. class element *prev;
  7.  
  8. public: element(){ next=NULL;};
  9. ~element(){ };
  10. int set_value(int this_value){ info=this_value; }
  11. int reveal_value(){ return info; }
  12. int set_next(element *next_element){ next=next_element; }
  13. element *reveal_next(){ return next; }};
  14.  
  15. class some_listD{ private: element *start,*current,*last;
  16. int lungime;
  17.  
  18. public: some_list(){ start=curent=sfarsit=NULL;lungime=0; }
  19. int set_lenght(int new_lenght){ lungime=new_lenght; }
  20. int set_start(element *new_start){ start=new_start; }
  21. int set_curent(element *new_curent){ curent=new_curent; }
  22. int set_end(element *new_sfarsit){ sfarsit=new_sfarsit; }
  23.  
  24. element *reveal_end(){ return sfarsit; }
  25. element *reveal_start(){ return start; }
  26. element *reveal_start(){ return start; }
  27. int reveal_lenght(){ return lungime; }
  28. element *reveal_current(){ return curent; }
  29. int reveal_me(int direction){
  30. cout<<endl; cout<<" START : ";
  31. int counter=reveal_lenght();
  32. if ( direction==1) {
  33. element *walker=start;
  34. if (counter>=1){while(counter>=2){
  35. cout<<walker->reveal_value()<<" -> ";
  36. walker=walker->reveal_next();counter--;}
  37. cout<<walker->reveal_value();} cout<<" : STOP ";
  38. }
  39. else {
  40. cout<<" work in progress !";
  41.  
  42. }
  43. return 1;};
  44.  
  45. class no_strategyD:public some_listD
  46. {
  47. public :
  48. int find_value(int this_value);
  49. int addsome ( int value, int direction );
  50. int delsome ( int *old_value,int direction );
  51. };
  52.  
  53. no_strategyD L;
  54.  
  55.  
  56. int main(){
  57.  
  58. L.addsome(1,1);
  59. L.addsome(2,1);
  60. L.addsome(3,1);
  61.  
  62. L.some_listD::reveal_me(0); // 1 2 3
  63. L.some_listD::reveal_me(1); // 3 2 1
  64.  
  65.  
  66. return 0;
  67. }
  68.  
  69.  
  70. int no_strategyD::addsome ( int value, int direction )
  71. {
  72. if (stack_empty()) {
  73. element *new_one;
  74. new_one->set_value(value);
  75. new_one->set_next(NULL);
  76. some_stack::set_lenght(1);
  77. some_stack::set_curent(new_one);
  78. some_stack::set_start(new_one);
  79. some_stack::set_end(new_one);
  80. return -1;
  81. }
  82. if (direction==0) {
  83.  
  84. }
  85. // (1)
  86. element *new_one=new element;
  87. // (2)
  88. new_one->set_next(NULL);
  89. // (3)
  90. new_one->set_value(value);
  91.  
  92.  
  93. return 1;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement