백준 10866 c++
#include <iostream>
#include <string>
using namespace std;
int deque[10000];
int deque_count = 0;
void push_front(int X)
{
int i, temp;
for (i = deque_count; i > 0; i--)
{
temp = deque[i - 1];
deque[i] = temp;
}
deque[0] = X;
deque_count++;
return;
}
void push_back(int X)
{
deque[deque_count] = X;
deque_count++;
return;
}
void pop_front()
{
int i, temp;
if (deque_count == 0)
{
cout << "-1\n";
}
else
{
cout << deque[0] << "\n";
for (i = 1; i < deque_count; i++)
{
temp = deque[i];
deque[i - 1] = temp;
}
deque_count--;
}
return;
}
void pop_back()
{
if (deque_count == 0)
{
cout << "-1\n";
}
else
{
cout << deque[deque_count-1] << "\n";
deque[deque_count - 1] = 0;
deque_count--;
}
return;
}
void size()
{
cout << deque_count << "\n";
return;
}
void empty()
{
if (deque_count == 0)
{
cout << "1\n";
}
else
{
cout << "0\n";
}
}
void front()
{
if (deque_count == 0)
{
cout << "-1\n";
}
else
{
cout << deque[0] << "\n";
}
return;
}
void back()
{
if (deque_count == 0)
{
cout << "-1\n";
}
else
{
cout << deque[deque_count-1] << "\n";
}
return;
}
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, i, X;
string option;
cin >> N;
for (i = 0; i < N; i++)
{
cin >> option;
if (option == "push_front")
{
cin >> X;
push_front(X);
}
else if (option == "push_back")
{
cin >> X;
push_back(X);
}
else if (option == "pop_front")
{
pop_front();
}
else if (option == "pop_back")
{
pop_back();
}
else if (option == "size")
{
size();
}
else if (option == "empty")
{
empty();
}
else if (option == "front")
{
front();
}
else if (option == "back")
{
back();
}
else
{
i--;
}
}
return 0;
}