Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Node{
- int data;
- Node* next = NULL;
- };
- class Stack{
- private:
- Node* begin = NULL;
- int __size = 0;
- public:
- void push(int a){
- if(begin == NULL){
- begin = new Node;
- begin -> data = a;
- }
- else{
- Node* temp = new Node;
- temp -> data = a;
- temp -> next = begin;
- begin = temp;
- }
- }
- int top(){
- return begin -> data;
- }
- int pop(){
- if(begin == NULL){
- cerr << "Stack is empty but pop() founded";
- return 0;
- }
- Node* mark = begin;
- int temp = begin -> data;
- begin = begin -> next;
- delete mark;
- return temp;
- }
- bool empty(){
- return begin == NULL;
- }
- int size(){
- int i = 0;
- Node* temp = begin;
- while(temp != NULL){
- i++;
- temp = temp -> next;
- }
- }
- void clear(){
- Node* temp;
- while(begin != NULL){
- temp = begin;
- begin = begin -> next;
- delete temp;
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement