C++ 程式在 STL 中實現雙端佇列
雙端佇列是在兩端(頭部和尾部)執行插入和刪除操作的佇列資料結構。資料可以在頭部和尾部位置插入,也可以從頭部和尾部位置刪除。
演算法
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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP