当前位置: 首页 > 编程笔记 >

C ++程序在STL中实现双端队列

吉鸿宝
2023-03-14
本文向大家介绍C ++程序在STL中实现双端队列,包括了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
 类似资料:
  • 本文向大家介绍C ++程序在STL中实现队列,包括了C ++程序在STL中实现队列的使用技巧和注意事项,需要的朋友参考一下 队列是遵循先进先出(FIFO)顺序的线性结构,在该顺序中,对队列的元素执行操作。 算法 范例程式码 输出结果

  • 本文向大家介绍C ++程序在STL中实现Prev_Permutataion,包括了C ++程序在STL中实现Prev_Permutataion的使用技巧和注意事项,需要的朋友参考一下 STL中的Prev_permutation用于将范围[first,last]中的元素重新排列到先前的字典上较小的排列。排列是N的每一个!元素可以采取的可能安排。这是一个在STL中实现Prev_permutation的

  • 本文向大家介绍C ++程序在STL中实现Next_Permutation,包括了C ++程序在STL中实现Next_Permutation的使用技巧和注意事项,需要的朋友参考一下 STL中的next_permutation用于将[first,last]范围内的元素重新排列到下一个字典上更大的排列。排列是N的每一个!元素可以采取的可能安排。这是C ++程序,用于在STL中实现Next_permuta

  • 本文向大家介绍C ++程序在STL中实现堆栈,包括了C ++程序在STL中实现堆栈的使用技巧和注意事项,需要的朋友参考一下 堆栈是遵循特定操作顺序的线性数据结构。订单可以是FILO(先进先出)或LIFO(先进先出) 算法 范例程式码 输出结果

  • 本文向大家介绍在STL中实现Vector的C ++程序,包括了在STL中实现Vector的C ++程序的使用技巧和注意事项,需要的朋友参考一下 向量具有在插入或删除元素时自动像动态数组一样自动调整大小的能力,容器可以自动处理其存储。矢量元素放置在连续的存储中,以便可以使用迭代器对其进行访问和遍历。可以在向量的开头,中间或结尾插入或删除数据。 功能和说明: 范例程式码 输出结果

  • 本文向大家介绍在STL中实现集的C ++程序,包括了在STL中实现集的C ++程序的使用技巧和注意事项,需要的朋友参考一下 Set是抽象数据类型,其中每个元素都必须是唯一的,因为元素的值可以标识它。一旦将元素的值添加到集合中,就无法对其进行修改,但是可以删除并添加该元素的修改后的值。 功能和说明: 范例程式码 输出结果