Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class node{
- public:
- int data;
- node* Next;
- node(int num = 0){
- data = num;
- Next = nullptr;
- }
- };
- class Stack{
- public:
- node* top;
- int size;
- Stack(){
- top = nullptr;
- size = 0;
- }
- void push(int num){
- node* newnode = new node(num);
- newnode ->Next = top;
- top = newnode;
- size++;
- }
- int printSt(){
- if(top == nullptr) return -1;
- else return top->data;
- }
- void pop(){
- if(top){
- node* deletenode = top;
- top = top->Next;
- delete deletenode;
- size--;}
- }
- int Size(){
- return size;
- }
- bool is_empty(){
- return (top == nullptr);
- }
- ~Stack(){
- while(top){
- node* newnode = top;
- top = top -> Next;
- delete newnode;
- }
- }
- };
- class Queue{
- public:
- node* front;
- node* back;
- int size;
- Queue(){
- front = nullptr;
- back = front;
- size = 0;
- }
- int Size(){
- return size;
- }
- void push(int num){
- if(!front){
- back = front = new node(num);
- }else{
- back->Next = new node(num);
- back = back->Next;
- }
- size++;
- }
- int Front(){
- if(front){
- return front->data;
- }
- return -1;
- }
- int Back(){
- if(back){
- return back->data;
- }
- return -1;
- }
- void Pop(){
- if(front){
- node* deletenode = front;
- front = front->Next;
- delete deletenode;
- size--;
- }
- }
- bool is_empty(){
- return (front == nullptr);
- }
- ~Queue(){
- while(front){
- node* newnode = front;
- front = front -> Next;
- delete newnode;
- }
- }
- };
- int main(){
- Stack st;
- st.push(9);
- st.push(10);
- st.push(8);
- cout << st.printSt() << endl;
- st.pop();
- cout << st.printSt() << endl;
- st.pop();
- st.pop();
- cout << "size : " << st.Size() << endl;
- cout << st.printSt() << endl;
- /////////////////////////////////////////////////////
- Queue q;
- cout << q.is_empty() << endl;
- q.push(10);
- q.push(8);
- q.push(11);
- q.push(13);
- cout << q.Front() << " " << q.Back() << endl;
- q.Pop();
- cout << q.Front() << " " << q.Back() << endl;
- cout << q.is_empty() << " " << q.Size();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement