Guest User

Untitled

a guest
Feb 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <string>
  4. #include <vector>
  5. #include <algorithm>
  6. #include <windows.h>
  7. using namespace std;
  8.  
  9. #define X first
  10. #define Y second
  11. #define pb push_back
  12. #define mp make_pair
  13. #define sz size()
  14. #define all(x) (x).begin(),(x).end()
  15. #define sqr(x) (x)*(x)
  16.  
  17. struct node {
  18. int value;
  19. node * prev;
  20. node() {
  21. value = 0;
  22. prev = NULL;
  23. }
  24. };
  25.  
  26. struct stack{
  27. node *last;
  28. int siz;
  29. stack() {
  30. last = (node*)malloc(sizeof(last));
  31. last->prev = NULL;
  32. last->value = 0;
  33. siz = 0;
  34. }
  35.  
  36. void push(int n) {
  37. node *t = (node*)malloc(sizeof(last));
  38. if(siz == 0 ) {
  39. last -> value = n;
  40. } else {
  41. t -> prev = last;
  42. t -> value = n;
  43. last = t;
  44. }
  45. siz++;
  46. }
  47.  
  48. void pop() {
  49. if(siz > 0) {
  50. node *t = last;
  51. last = last -> prev;
  52. free(t);
  53. }
  54. siz--;
  55. }
  56.  
  57. int top() {
  58. if(siz > 0) {
  59. return last -> value;
  60. }
  61. }
  62.  
  63. int size() {
  64. return siz;
  65. }
  66.  
  67. void clear() {
  68. while(siz > 0) {
  69. node *t = last;
  70. last = last -> prev;
  71. free(t);
  72. siz--;
  73. }
  74. }
  75. };
  76.  
  77. int main() {
  78. stack a;
  79. for(int i = 0; i < 1000000; i++) {
  80. a.push(i);
  81. //cout << a.top() << endl;
  82. }
  83. //Sleep(1000);
  84. puts("OK");
  85. a.clear();
  86. return 0;
  87. }
Add Comment
Please, Sign In to add comment