Advertisement
karbaev

stl-deque

Mar 4th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.98 KB | None | 0 0
  1. #include <iostream>
  2. #include <deque>
  3. using namespace std;
  4. int main()
  5. {
  6.     setlocale(LC_ALL,"Rus");
  7.     deque<int> D; //создание дека D размером 5
  8.     deque<int>::iterator out;
  9.     int value;
  10.     char number;
  11.     do
  12.     {
  13.         cout<<"1. Добавить элемент в начало"<<endl;
  14.         cout<<"2. Добавить элемент в конец"<<endl;
  15.         cout<<"3. Удалить первый элемент"<<endl;
  16.         cout<<"4. Удалить последний элемент"<<endl;
  17.         cout<<"5. Вывести первый элемент"<<endl;
  18.         cout<<"6. Вывести последний элемент"<<endl;
  19.         cout<<"7. Узнать размер дека"<<endl;
  20.         cout<<"0. Выйти\n\n";
  21.         cout<<"Номер команды > ";
  22.         cin>>number;
  23.         switch (number)
  24.         {
  25.         case '1':
  26.             cout<<"\nЗначение > ";
  27.             cin>>value;
  28.             D.push_front(value);
  29.             cout<<endl<<"Элемент добавлен\n\n";
  30.             break;
  31. //-----------------------------------------------
  32.         case '2':
  33.             cout<<"\nЗначение > ";
  34.             cin>>value;
  35.             D.push_back(value);
  36.             cout<<endl<<"Элемент добавлен\n\n";
  37.             break;
  38. //-----------------------------------------------
  39.         case '3':
  40.             if (D.empty()) cout<<"\nДек пуст\n\n";
  41.             else
  42.             {
  43.                 D.erase(D.begin());
  44.                 cout<<endl<<"Элемент удален\n\n";
  45.             }
  46.             break;
  47. //-----------------------------------------------
  48.         case '4':
  49.             if (D.empty()) cout<<"\nДек пуст\n\n";
  50.             else
  51.             {
  52.                 D.erase(D.end()-1);
  53.                 cout<<endl<<"Элемент удален\n\n";
  54.             }
  55.             break;
  56. //-----------------------------------------------
  57.         case '5':
  58.             if (D.empty()) cout<<endl<<"Дек пуст\n\n";
  59.             else
  60.             {
  61.                 out=D.begin();
  62.                 cout<<"\nПервый элемент: "<<*out<<"\n\n";
  63.             }
  64.             break;
  65. //-----------------------------------------------
  66.         case '6':
  67.             if (D.empty()) cout<<"\nДек пуст\n\n";
  68.             else
  69.             {
  70.                 out=D.end()-1;
  71.                 cout<<"\nПоследний элемент: "<<*out<<"\n\n";
  72.             }
  73.             break;
  74. //-----------------------------------------------
  75.         case '7':
  76.             if (D.empty()) cout<<endl<<"Дек пуст\n\n";
  77.             else cout<<"\nРазмер дека: "<<D.size()<<"\n\n";
  78.             break;
  79. //-----------------------------------------------
  80.         case '0':
  81.             break;
  82.         default:
  83.             cout<<endl<<"Команда не определена\n\n";
  84.             break;
  85.         }
  86.     }
  87.     while(number!='0');
  88.     return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement