Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. struct TDATA
  7. {
  8. int number;
  9. struct TDATA *next;
  10. };
  11.  
  12. TDATA* addStack(TDATA* p, int liczba)
  13. {
  14. if (p == NULL)
  15. { //tworzymy nowy stos
  16. p = new TDATA;
  17. p->number = liczba;
  18. (*p).next = NULL;
  19. }
  20. else
  21. { //stos juz istnieje
  22. TDATA* tmp = p;
  23. p = new TDATA;
  24. p->number = liczba;
  25. (*p).next = tmp;
  26. }
  27. return p;
  28. }
  29.  
  30. TDATA* getStack(TDATA* p, int& liczba)
  31. {
  32. int tmp_number;
  33. if (p!=NULL)
  34. {
  35. tmp_number = p->number; //(*p).number
  36. TDATA* tmp_next = (*p).next;
  37. delete p;
  38. p = tmp_next;
  39. liczba=tmp_number;
  40. }
  41. return p;
  42. //brak aktualizacji p, bo p przekazano przzez wartosc
  43. }
  44.  
  45. /*
  46. int getStack(TDATA* p)
  47. {
  48. int tmp_number;
  49. if (p!=NULL)
  50. {
  51. tmp_number = p->number; //(*p).number
  52. TDATA* tmp_next = (*p).next;
  53. delete p;
  54. p = tmp_next;
  55. }
  56. return tmp_number;
  57. //brak aktualizacji p, bo p przekazano przzez wartosc
  58. }
  59. */
  60. /*
  61. int getStack(TDATA** p)
  62. {
  63. int tmp_number;
  64. if (*p!=NULL)
  65. {
  66. tmp_number = (*p)->number; //(*p).number
  67. TDATA* tmp_next = (*(*p)).next;
  68. delete *p;
  69. *p = tmp_next;
  70. }
  71. return tmp_number;
  72. }
  73. */
  74. /*
  75. int getStack(TDATA*& p)
  76. {
  77. int tmp_number;
  78. if (p!=NULL)
  79. {
  80. tmp_number = (p)->number; //(*p).number
  81. TDATA* tmp_next = ((*p)).next;
  82. delete p;
  83. p = tmp_next;
  84. }
  85. return tmp_number;
  86. }
  87. */
  88.  
  89. void peek(TDATA* p)
  90. {
  91. cout<<p->number<<endl;
  92. return;
  93. }
  94.  
  95. void printStack(TDATA* p)
  96. {
  97. while(p!=NULL)
  98. {
  99. cout<<p->number<<endl;
  100. p = p->next;
  101. }
  102. return;
  103. }
  104.  
  105. int main()
  106. {
  107. int liczba_z_funkcji;
  108. TDATA* stack = NULL;
  109. stack=addStack(stack, 1);
  110. stack=addStack(stack, 2);
  111. stack=addStack(stack, 3);
  112. stack=addStack(stack, 4);
  113. stack=getStack(stack, liczba_z_funkcji);
  114. cout<<"z funkcji ->"<<liczba_z_funkcji<<endl;
  115. stack=getStack(stack, liczba_z_funkcji);
  116. cout<<"z funkcji ->"<<liczba_z_funkcji<<endl;
  117. stack=addStack(stack, 5);
  118. stack=addStack(stack, 6);
  119. printStack(stack);
  120.  
  121. getchar();
  122. return 0;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement