Pagini recente » Cod sursa (job #1478843) | Istoria paginii utilizator/bercaru_cristian | Cod sursa (job #2783847) | Cod sursa (job #3216440) | Cod sursa (job #2887641)
#include <iostream>
#include <fstream>
#include <string.h>
#include <stack>
using namespace std;
ifstream fin("queue.in");
ofstream fout("queue.out");
int main()
{
int N, lg, val;
char s[255];
stack<int> s1;
stack<int> s2;
fin>>N;
for(int i = 0; i < N; ++i)
{
fin.get();
fin.get(s, 255);
lg = strlen(s);
if(s[1] == 'u')
{ val = 0;
for(int j = 10; j < lg - 1; ++j)
val = val*10 + (s[j] - '0');
s1.push(val);
fout<<i + 1<<": "<<"read("<<val<<") push(1,"<<val<<") \n";
}
else
{
fout<<i + 1<<": ";
if(!s2.empty())
{
while(s2.size() != 1)
{
fout<<"pop(2) push(1,"<<s2.top()<<") ";
s1.push(s2.top());
s2.pop();
}
fout<<"pop(2) write("<<s2.top()<<") \n";
s2.pop();
}
else
{
while(s1.size() != 1)
{
fout<<"pop(1) push(2,"<<s1.top()<<") ";
s2.push(s1.top());
s1.pop();
}
fout<<"pop(1) write("<<s1.top()<<") \n";
s1.pop();
}
}
}
return 0;
}