`
xidajiancun
  • 浏览: 492238 次
文章分类
社区版块
存档分类
最新评论

C++ Primer ---适配器 queue

 
阅读更多

一,概述

先进先出的数据结构,底端加入元素,顶端移除元素,类似stack同样不能有遍历行为,没有迭代器。也是以既有容器为底端容器被归类为陪接器(container adapter),默认底端容器为deque。

二,使用

#include <queue>

using namespace std;

三,方法

queue::push( ); //底部插入元素
queue::pop( ); //顶端移除元素
queue::empty( ); //是否为空
queue::back( );
queue::front( );
queue::size( );

四,示例

  1. #include<list>
  2. #include<iostream>
  3. #include<queue>
  4. #include<deque>
  5. usingnamespacestd;
  6. //Usingqueuewithlist
  7. typedeflist<int>INTLIST;
  8. typedefqueue<int,INTLIST>INTQUEUE;
  9. //Usingqueuewithdeque
  10. typedefdeque<constchar*>CHARDEQUE;
  11. typedefqueue<constchar*,CHARDEQUE>CHARQUEUE;
  12. intmain(void)
  13. {
  14. size_tsize_q;
  15. INTQUEUEq;
  16. CHARQUEUEp;
  17. //Insertitemsinthequeue(useslist)
  18. q.push(42);
  19. q.push(100);
  20. q.push(49);
  21. q.push(201);
  22. size_q=q.size();
  23. cout<<"sizeofqis:"<<size_q<<endl;
  24. while(!q.empty())
  25. {
  26. cout<<q.front()<<"";
  27. q.pop();
  28. }
  29. p.push("cat");
  30. p.push("ape");
  31. p.push("dog");
  32. p.push("mouse");
  33. p.push("horse");
  34. cout<<"\n"<<"p.back:"<<p.back()<<endl;//thelastelemet
  35. size_q=p.size();
  36. cout<<"sizeofpis:"<<size_q<<endl;
  37. while(!p.empty())
  38. {
  39. cout<<p.front()<<"";
  40. p.pop();
  41. }
  42. }
分享到:
评论

相关推荐

    Effective+C++ primer

    - 深入探讨迭代器的使用和陷阱,以及适配器容器(如std::stack、std::queue、std::set)的用途。 7. **异常处理**: - 强调了正确使用try、catch和throw关键字来编写健壮的异常安全代码。 - 探讨了无异常保证...

    C++ Primer 4th及习题解答

    7. **STL容器深入探讨**:包括动态数组(vector)、链表(list)、关联容器(如set和map),以及容器适配器(如stack和queue)的使用和实现原理。 8. **智能指针**:C++11引入了智能指针,如unique_ptr、shared_ptr...

    C++primer第四版(中音文对照版本)CHM格式

    9. **STL容器和算法的高级主题**:如迭代器的高级用法、容器的适配器(如stack和queue)、关联容器(如unordered_set和unordered_map)以及更复杂的算法。 10. **C++11及更高版本的新特性**:如右值引用、lambda...

    C++Primer课后习题解答(第1~18章完整答案)完整版

    更深入地研究了STL容器的高级特性,如迭代器适配器,容器适配器(如`stack`、`queue`、`priority_queue`)。 ### 第十八章 额外主题 涵盖了异常处理、命名空间、模板元编程、以及C++11及以后版本的新特性。 这些...

    cpp_primer4_src

    - 适配器:如stack、queue、priority_queue将容器转换为特定用途的数据结构。 5. **输入/输出流** - iostream库:包括cin、cout、cerr、clog等对象,用于标准输入输出。 - 文件流:fstream库允许我们读写磁盘...

    Modern C++ 11 知识点

    以下知识点基于《C++ Primer 5th》、《C++ Programming Language 4th Edition 2013》和leetcode实战经验。 知识点从C++标准模板库(STL)开始,包括了bitset、vector、string、map、set、list、priority_queue等...

    c++标准程序库

    10. **容器适配器**:除了基本容器,还有如`std::stack`、`std::queue`和`std::priority_queue`这样的容器适配器,它们在原有容器的基础上提供特定的数据结构和操作。 以上只是C++标准程序库中的冰山一角,实际使用...

    EffectiveC++学习总结13页总结

    - **容器适配器**:`stack`、`queue`、`priority_queue`。 ##### 类型歧义问题 - 在使用模板时,`C::const_iterator`可能会被某些编译器错误解析为类C的成员变量,导致编译失败。使用`typename`关键字可以帮助消除...

    Competitive-Coding

    - 书籍:《C++ Primer》、《Effective C++》、《More Effective C++》、《C++编程语言》等。 - 在线教程:如GeeksforGeeks、Stack Overflow、Coursera等网站提供的课程和文章。 总的来说,掌握C++语言基础和STL,...

    三十分钟掌握STL

    - **种类**:STL提供了多种容器,包括顺序容器(如`vector`、`deque`)、关联容器(如`set`、`map`)、容器适配器(如`stack`、`queue`)等。 - **特性**:每种容器都有自己的特点和适用场景。例如,`vector`提供了...

Global site tag (gtag.js) - Google Analytics