#include <iostream> el uso de espacio de nombres std; #define ElemType int const int MaxSize = 50 ; typedef struct { datos ElemType [MaxSize]; int top = - 1 ; SqStack}; bool empuje (SqStack y S, ElemType x) { si (S.top == MaxSize- 1 ) de retorno falsa ; S.data [ ++ S.top] = x; volver verdadera ; } Bool Pop (SqStack & S, y ElemType x) { si (S.top == -1 ) volver falsa ; x = S.data [S.top-- ]; volver verdadera ; } Int main () { SqStack S; para ( int i = 1 ; i <= 10 ; i ++ ) { Empuje (S, i); } Int x; mientras que (S.top> - 1 ) { Pop (S, x); cout << << x " " ; } Cout << endl; volver 0 ; }
#include <iostream> el uso de espacio de nombres std; #define ElemType int typedef struct Snøde { datos ElemType; struct Snøde * siguiente; Snøde}; typedef struct { Snøde * top = NULL; LinkStack}; void push (LinkStack y S, ElemType x) { Snøde * p = nuevo Snøde; p -> data = x; p -> siguiente = S.top; S.top = p; } Bool Pop (LinkStack & S, y ElemType x) { si (S.top == NULL) de retorno falsa ; Snøde * p = S.top; x = p-> datos; S.top = p-> siguiente; delete p; volver verdadera ; } Int main () { LinkStack S; para ( int i = 1 ; i <= 10 ; i ++ ) { Empuje (S, i); } Int x; mientras que (S.top =! {NULL) Pop (S, x); cout << << x " " ; } Cout << endl; volver 0 ; }