Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // list
- class Stack {
- struct N {
- Node* node;
- N* next;
- N(Node* node, N* next) :
- node(node),
- next(next) {
- }
- N() {
- node = nullptr;
- next = nullptr;
- }
- };
- public:
- N* top;
- Stack() {
- top = nullptr;
- }
- void push(Node* node) {
- N* n = new N(node, top);
- top = n; // assign new node as top
- }
- Node* pop() {
- if (top == nullptr)
- return nullptr;
- else {
- N* temp = top;
- Node* node = temp->node;
- top = temp->next;
- // delete temp;
- return node;
- }
- }
- void print() {
- N* temp = top;
- while (temp) {
- std::cout << (temp->node ? temp->node->data : -1) << " => ";
- temp = temp->next;
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement