STL之Queue(Q)

简介: STL的Queue(数据结构中的队列):   特点:FIFO 先进先出;      自适应容器(即容器适配器)    栈适配器STL queue    STL中实现的Queue:     用list来实现queue; queue      q;     用deque来实现queue; q...

STL的Queue(数据结构中的队列):

  特点:FIFO 先进先出;

     自适应容器(即容器适配器)

   栈适配器STL queue

   STL中实现的Queue:

    用list来实现queue; queue<int, list<int> >      q;

    用deque来实现queue; queue<int, deque<int> >   q;

    不能用vector来实现queue;

  STL中Queue实现的方法(6种):

    q.empty();

    q.size();

    q.front();

    q.back();

    q.pop();

    q.push(item);

  STL的queue没有迭代器,它只能操作队列头、队列尾的元素,而不能操作队列中间的元素;一般情况下,queue用于系统软件开发,编译器开发;

 1 #include <list>
 2 #include <deque>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     queue<int, deque<int> > a;
 9     queue<int, list<int> >  b;  
10     //queue<int, vector<int> > c; //error
11     queue<int> q;  //相当于queue<int, deque<int> > q;
12     
13     q.push(10); //队列只能从队尾插入
14     q.push(5);
15     q.push(-1);
16     q.push(20);
17     
18     std::cout<<"queue size is "<<q.size()<<std::endl;
19     std::cout << "queue first item:" << q.front() << std::endl; //q.front() 查看队列头元素
20     std::cout <<"queue end item: " <<q.back() <<std::endl;      //q.front() 查看队列尾元素
21 
22     q.pop();    //队列只能从头删除
23     std::cout << "queue new first item:" << q.front() << std::endl;
24         
25     while(q.size() !=0)
26     {   
27         std::cout << "del item :" <<q.front() << std::endl;
28         q.pop();
29     }
30 
31     if(q.empty())
32     {
33         std::cout <<"now queue is empty "<<std::endl;
34     }
35 
36     return 0;
37 }

 

相关文章
|
2月前
|
存储 算法 C语言
【C++】C++ STL探索:Priority Queue与仿函数的深入解析(一)
【C++】C++ STL探索:Priority Queue与仿函数的深入解析
|
7月前
|
容器
STL_queue
STL_queue
47 1
|
5月前
|
设计模式 算法 Java
【c++】STL之stack和queue详解
【c++】STL之stack和queue详解
49 1
|
7月前
|
编译器 C++ 容器
【STL】stack与queue的底层原理及其实现
【STL】stack与queue的底层原理及其实现
|
存储 设计模式 C++
C++ STL stack & queue
stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。
|
存储 算法 C++
C++ STL priority_queue
优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。
|
7月前
|
存储 C++ 容器
STL--stack、queue实现
STL--stack、queue实现
|
存储 算法 程序员
stack、queue、priority_queue的使用和简单实现【STL】
stack、queue、priority_queue的使用和简单实现【STL】
61 0
|
存储 算法 C++
『C++ - STL』之优先级队列( priority_queue )
『C++ - STL』之优先级队列( priority_queue )
|
存储 算法 C++
C++【STL】之priority_queue学习
C++ STL 优先级队列,常用接口的使用和模拟实现详细讲解,干货满满!
102 1
C++【STL】之priority_queue学习