Please convert the code from C Language
Please convert the code from C Language
#include <bits/stdc++.h>
using namespace std;
struct Queue {
stack<int> s1, s2; // stl used
// Enqueue an item to the queue
void enQueue(int x) {
// Push item into the first stack
s1.push(x);
}
// Dequeue an item from the queue
int deQueue() {
// if both stacks are empty
if (s1.empty() && s2.empty()){
cout << "Queue is empty";
exit(0);
}
// if s2 is empty, move elements from s1
if (s2.empty()) {
while (!s1.empty()) {
s2.push(s1.top()); // using stl operation top()
s1.pop();
}
}
// return the top item from s2
int x = s2.top();
s2.pop();
return x;
}
};
// main function
int main() {
Queue q;
int x,count=0;
cout<<"press 0 to stop push operaton, else enqueue integers"<<endl;
cin>>x;
while(x){
q.enQueue(x);
count++;
cin>>x;
}
cout<<"dequeueing...."<<endl;
while(count){
cout<<q.deQueue()<<endl;
count--;
}
cout<<"execution successful"<<endl;
return 0;
}
Output:
Step by step
Solved in 2 steps with 1 images