#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Q
{
private:
vector<int> Queue;
public:
void Push(int x);
int Pop();
int GetSize();
bool Empty();
int GetFront();
int GetBack();
};
void Q::Push(int x)
{
this->Queue.push_back(x);
}
int Q::Pop()
{
return this->Queue[0];
this->Queue.erase(this->Queue.begin());
}
int Q::GetSize()
{
return this->Queue.size();
}
bool Q::Empty()
{
return this->Queue.empty();
}
int Q::GetFront()
{
return this->Queue.front();
}
int Q::GetBack()
{
return this->Queue.back();
}
int main()
{
Q Queue;
int Case;
cin >> Case;
while (Case--)
{
string Input = "";
getline(cin, Input, '\n');
switch (Input.at(0))
{
case 'p':
if (Input.at(1) == 'u')
{
int index = Input.find(' ');
int value = stoi(Input.substr(index + 1, Input.size() - 1));
Queue.Push(index);
}
else
{
cout << Queue.Pop();
}
break;
case 's':
cout << Queue.GetSize(); break;
case 'e':
if (Queue.Empty()) cout << "1";
else cout << "0";
break;
case 'f':
cout << Queue.GetFront(); break;
case 'b':
cout << Queue.GetBack(); break;
}
}
return 0;
}
#include <vector>
#include <string>
using namespace std;
class Q
{
private:
vector<int> Queue;
public:
void Push(int x);
int Pop();
int GetSize();
bool Empty();
int GetFront();
int GetBack();
};
void Q::Push(int x)
{
this->Queue.push_back(x);
}
int Q::Pop()
{
return this->Queue[0];
this->Queue.erase(this->Queue.begin());
}
int Q::GetSize()
{
return this->Queue.size();
}
bool Q::Empty()
{
return this->Queue.empty();
}
int Q::GetFront()
{
return this->Queue.front();
}
int Q::GetBack()
{
return this->Queue.back();
}
int main()
{
Q Queue;
int Case;
cin >> Case;
while (Case--)
{
string Input = "";
getline(cin, Input, '\n');
switch (Input.at(0))
{
case 'p':
if (Input.at(1) == 'u')
{
int index = Input.find(' ');
int value = stoi(Input.substr(index + 1, Input.size() - 1));
Queue.Push(index);
}
else
{
cout << Queue.Pop();
}
break;
case 's':
cout << Queue.GetSize(); break;
case 'e':
if (Queue.Empty()) cout << "1";
else cout << "0";
break;
case 'f':
cout << Queue.GetFront(); break;
case 'b':
cout << Queue.GetBack(); break;
}
}
return 0;
}
댓글
댓글 쓰기