一,概述
先进先出的数据结构,底端加入元素,顶端移除元素,类似stack同样不能有遍历行为,没有迭代器。也是以既有容器为底端容器被归类为陪接器(container adapter),默认底端容器为deque。
二,使用
#include <queue>
using namespace std;
三,方法
queue::push( ); //底部插入元素
queue::pop( ); //顶端移除元素
queue::empty( ); //是否为空
queue::back( );
queue::front( );
queue::size( );
四,示例
- #include<list>
- #include<iostream>
- #include<queue>
- #include<deque>
- usingnamespacestd;
- //Usingqueuewithlist
- typedeflist<int>INTLIST;
- typedefqueue<int,INTLIST>INTQUEUE;
- //Usingqueuewithdeque
- typedefdeque<constchar*>CHARDEQUE;
- typedefqueue<constchar*,CHARDEQUE>CHARQUEUE;
- intmain(void)
- {
- size_tsize_q;
- INTQUEUEq;
- CHARQUEUEp;
- //Insertitemsinthequeue(useslist)
- q.push(42);
- q.push(100);
- q.push(49);
- q.push(201);
- size_q=q.size();
- cout<<"sizeofqis:"<<size_q<<endl;
- while(!q.empty())
- {
- cout<<q.front()<<"";
- q.pop();
- }
- p.push("cat");
- p.push("ape");
- p.push("dog");
- p.push("mouse");
- p.push("horse");
- cout<<"\n"<<"p.back:"<<p.back()<<endl;//thelastelemet
- size_q=p.size();
- cout<<"sizeofpis:"<<size_q<<endl;
- while(!p.empty())
- {
- cout<<p.front()<<"";
- p.pop();
- }
- }
分享到:
相关推荐
- 深入探讨迭代器的使用和陷阱,以及适配器容器(如std::stack、std::queue、std::set)的用途。 7. **异常处理**: - 强调了正确使用try、catch和throw关键字来编写健壮的异常安全代码。 - 探讨了无异常保证...
7. **STL容器深入探讨**:包括动态数组(vector)、链表(list)、关联容器(如set和map),以及容器适配器(如stack和queue)的使用和实现原理。 8. **智能指针**:C++11引入了智能指针,如unique_ptr、shared_ptr...
9. **STL容器和算法的高级主题**:如迭代器的高级用法、容器的适配器(如stack和queue)、关联容器(如unordered_set和unordered_map)以及更复杂的算法。 10. **C++11及更高版本的新特性**:如右值引用、lambda...
更深入地研究了STL容器的高级特性,如迭代器适配器,容器适配器(如`stack`、`queue`、`priority_queue`)。 ### 第十八章 额外主题 涵盖了异常处理、命名空间、模板元编程、以及C++11及以后版本的新特性。 这些...
- 适配器:如stack、queue、priority_queue将容器转换为特定用途的数据结构。 5. **输入/输出流** - iostream库:包括cin、cout、cerr、clog等对象,用于标准输入输出。 - 文件流:fstream库允许我们读写磁盘...
以下知识点基于《C++ Primer 5th》、《C++ Programming Language 4th Edition 2013》和leetcode实战经验。 知识点从C++标准模板库(STL)开始,包括了bitset、vector、string、map、set、list、priority_queue等...
10. **容器适配器**:除了基本容器,还有如`std::stack`、`std::queue`和`std::priority_queue`这样的容器适配器,它们在原有容器的基础上提供特定的数据结构和操作。 以上只是C++标准程序库中的冰山一角,实际使用...
- **容器适配器**:`stack`、`queue`、`priority_queue`。 ##### 类型歧义问题 - 在使用模板时,`C::const_iterator`可能会被某些编译器错误解析为类C的成员变量,导致编译失败。使用`typename`关键字可以帮助消除...
- 书籍:《C++ Primer》、《Effective C++》、《More Effective C++》、《C++编程语言》等。 - 在线教程:如GeeksforGeeks、Stack Overflow、Coursera等网站提供的课程和文章。 总的来说,掌握C++语言基础和STL,...
- **种类**:STL提供了多种容器,包括顺序容器(如`vector`、`deque`)、关联容器(如`set`、`map`)、容器适配器(如`stack`、`queue`)等。 - **特性**:每种容器都有自己的特点和适用场景。例如,`vector`提供了...