C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

STLでDequeを実装するC++プログラム


Double Ended Queueは、挿入および削除操作が両端(前面と背面)で実行されるキューデータ構造です。データは前部と後部の両方の位置に挿入でき、前部と後部の両方の位置から削除できます。

アルゴリズム

Begin
   Declare deque vector and iterator.
   Take the input as per choice.
   Call the functions within switch operation:
   d.size() = Returns the size of queue.
   d.push_back() = It is used to push elements into a deque from the back.
   d.push_front() = It is used to push elements into a deque from the front.
   d.pop_back() = It is used to pop or remove elements from a deque from the back.
   d.pop_front() = It is used to pop or remove elements from a deque from the front.
   d.front() = Returns the front elements of deque.
   d.back() = Returns the back elements of deque.
   Print the elements of deque.
End.

サンプルコード

#include<iostream>
#include <deque>
#include <string>
#include <cstdlib>
using namespace std;
int main() {
   deque<int> d;
   deque<int>::iterator it;
   int c, item;
   while (1) {
      cout<<"1.Size of the Deque"<<endl;
      cout<<"2.Insert Element at the End"<<endl;
      cout<<"3.Insert Element at the Front"<<endl;
      cout<<"4.Delete Element at the End"<<endl;
      cout<<"5.Delete Element at the Front"<<endl;
      cout<<"6.Front Element at Deque"<<endl;
      cout<<"7.Last Element at Deque"<<endl;
      cout<<"8.Display Deque"<<endl;
      cout<<"9.Exit"<<endl;
      cout<<"Enter your Choice: ";
      cin>>c;
      switch(c) {
         case 1:
            cout<<"Size of the Deque: "<<d.size()<<endl;
         break;
         case 2:
            cout<<"Enter value to be inserted at the end: ";
            cin>>item;
            d.push_back(item);
         break;
         case 3:
            cout<<"Enter value to be inserted at the front: ";
            cin>>item;
            d.push_front(item);
         break;
         case 4:
            item = d.back();
            d.pop_back();
            cout<<"Element "<<item<<" deleted"<<endl;
         break;
         case 5:
            item = d.front();
            d.pop_front();
            cout<<"Element "<<item<<" deleted"<<endl;
         break;
         case 6:
            cout<<"Front Element of the Deque: ";
            cout<<d.front()<<endl;
         break;
         case 7:
            cout<<"Back Element of the Deque: ";
            cout<<d.back()<<endl;
         break;
         case 8:
            cout<<"Elements of Deque: ";
            for (it = d.begin(); it != d.end(); it++)
               cout<<*it<<" ";
            cout<<endl;
         break;
         case 9:
            exit(1);
         break;
         default:
            cout<<"Wrong Choice"<<endl;
      }
   }
   return 0;
}

出力

1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 1
Size of the Deque: 0
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 2
Enter value to be inserted at the end: 1
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 3
Enter value to be inserted at the front: 2
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 6
Front Element of the Deque: 2
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 7
Back Element of the Deque: 1
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 1
Size of the Deque: 2
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 8
Elements of Deque: 2 1
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 2
Enter value to be inserted at the end: 4
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 3
Enter value to be inserted at the front: 5
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 8
Elements of Deque: 5 2 1 4
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 4
Element 4 deleted
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 5
Element 5 deleted
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit

Enter your Choice: 8
Elements of Deque: 2 1
1.Size of the Deque
2.Insert Element at the End
3.Insert Element at the Front
4.Delete Element at the End
5.Delete Element at the Front
6.Front Element at Deque
7.Last Element at Deque
8.Display Deque
9.Exit
Enter your Choice: 9

  1. STLにSet_Intersectionを実装するC++プログラム

    2つのセットの共通部分は、両方のセットに共通する要素によってのみ形成されます。関数によってコピーされる要素は、常に同じ順序で最初のセットから取得されます。両方のセットの要素はすでに注文されている必要があります。 一般的な集合演算は-です セットユニオン 交差点を設定 対称集合の差または排他的論理和 差または減算を設定 アルゴリズム Begin    Declare set vector v and iterator st.    Initialize st = set_intersection (set1, set1 + n, set2, s

  2. STLにSet_Differenceを実装するC++プログラム

    2つのセットの違いは、2番目のセットではなく、最初のセットに存在する要素によってのみ形成されます。関数によってコピーされる要素は、常に同じ順序で最初のセットから取得されます。両方のセットの要素はすでに注文されている必要があります。 一般的な集合演算は-です セットユニオン 交差点を設定 対称集合の差または排他的論理和 差または減算を設定 アルゴリズム Begin    Declare set vector v and iterator st.    Initialize st = set_difference (set1, set1 + n,