Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define sizeh 1000
- using namespace std;
- int* deque;
- int dh = 500, dt = 500, sum = 0;;
- void push_front( int x)
- {
- if (dh < 1) dh += sizeh;
- deque[(--dh) % sizeh] = x;
- sum++;
- }
- void push_back( int x)
- {
- deque[(dt++) % sizeh] = x;
- sum++;
- }
- int pop_front()
- {
- sum--;
- return deque[(dh++) % sizeh];
- }
- int pop_back()
- {
- sum--;
- if (dt < 1) dt += sizeh;
- return deque[(--dt) % sizeh];
- }
- void del_deque() {
- dt = 500;
- dh = 500;
- sum = 0;
- }
- int main() {
- int a = 0, b = 0;
- deque = new int[sizeh];
- while(cin >> a){
- if (a == 1) {
- cin >> b;
- push_front(b);
- }
- else if (a == 2) {
- cin >> b;
- push_back(b);
- }
- else if (a == 3) {
- cout << pop_front();
- }
- else if (a == 4) {
- cout << pop_back();
- }
- else if (a == 5) {
- }
- else if (a == 6) {
- }
- else if (a == 7) {
- cout << sum;
- }
- else if (a == 8) {
- del_deque();
- }
- else if (a == 9) {
- return 0;
- }
- }
- delete[] deque;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement