X Tutup
#include using namespace std; class queue{ private: int arry[50], front = -1, rear = -1, temp, returnNum; int *F = arry; int *R = arry; public: void enQueue(int num){ if(rear > 48){ cout << "\nQueue OverFlow\n"; } else{ if(front == -1 && rear == -1){ *R = num; R++; front++; rear++; } else{ *R = num; R++; rear++; } } } int deQueue(){ if( (front > rear) || front < 0){ //cout << "\nQueue UnderFlow\n"; front = -1; rear = -1; F = arry; R = arry; return -1; } else{ returnNum = *F; F++; front++; return returnNum; } return -1; } void display(){ if(front > rear){ cout << "\nThe Queue is Empty.\n"; } else{ //cout <<"\n" << front << " | " << rear; cout << "\nThe Queue is as Follows: "; for(int i = rear; i >= front; i--){ cout << arry[i] << " "; } } } }; class stack{ public: queue q1, q2; int selected = 1; void push(int num){ int x = 0; if(selected == 1){ q1.enQueue(num); while (x != -1){ x = q2.deQueue(); if(x != -1) q1.enQueue(x); } x = 0; selected = 2; } else{ q2.enQueue(num); while (x != -1){ x = q1.deQueue(); if(x != -1) q2.enQueue(x); } x = 0; selected = 1; } } int pop(){ if(selected == 1){ cout << "\nThe Deleted element is : " << q2.deQueue(); } else{ cout << "\nThe Deleted element is : " << q1.deQueue(); } } int display(){ if(selected == 1){ q2.display(); } else{ q1.display(); } } }; int main(){ int n; char c; stack s1; while(1){ cout << "\nEnter 1 for push and 2 for pop : "; cin >> c; switch (c){ case '1': cout << "\nEnter the Num: "; cin >> n; s1.push(n); s1.display(); break; case '2': s1.pop(); s1.display(); break; default: cout << "You Entere a wrong Choice, Try Again:"; break; } } }
X Tutup