/* */ #include <iostream> #include <deque> #include <string> using namespace std; int main() { int N; int num; string str; deque<int> deq; cin >> N; for (int i = 0; i < N; i++) { cin >> str; if (str == "push_back") { cin >> num; deq.push_back(num); } else if (str == "push_front") { cin >> num; deq.push_front(num); } else if (str == "front") { if (!deq.empty()) { cout << deq.front() << endl; } else { cout << "-1" << endl; } } else if (str == "back") { if (!deq.empty()) { cout << deq.back() << endl; } else { cout << "-1" << endl; } } else if (str == "size") { cout << deq.size() << endl; } else if (str == "empty") { if (deq.empty()) { cout << "1" << endl; } else { cout << "0" << endl; } } else if (str == "pop_front") { if (!deq.empty()) { cout << deq.front() << endl; deq.pop_front(); } else { cout << "-1" << endl; } } else if (str == "pop_back") { if (!deq.empty()) { cout << deq.back() << endl; deq.pop_back(); } else { cout << "-1" << endl; } } } return 0; } |
앞뒤로 넣었다 뺄 수 있는 자료 구조입니다. 팝 프론트 팝백도 있고 프론트 백도 있고 나머지는 사이즈 엠티 동일합니다. |