C++ STL 之 queue

queue 是一种先进先出(first in first out, FIFO)的数据类型,他有两个口,数据元素只能从一个口进,从另一个口出.队列只允许从队尾加入元素队头删除元素,必须符合先进先出的原则,queue 和 stack 一样不具有遍历行为。

特性总结:

? 必须从一个口数据元素入队,另一个口数据元素出队。

? 不能随机存取,不支持遍历

 1 #include <iostream>
 2 #include <queue>
 3 using namespace std;
 4
 5 // queue 构造函数
 6 // queue<T> queT;//queue 采用模板类实现,queue 对象的默认构造形式:
 7 // queue(const queue &que);//拷贝构造函数
 8
 9 // queue 存取、插入和删除操作
10 // push(elem);//往队尾添加元素
11 // pop();//从队头移除第一个元素
12 // back();//返回最后一个元素
13 // front();//返回第一个元素
14
15 // queue 赋值操作
16 // queue& operator=(const queue &que);//重载等号操作符
17
18 // queue 大小操作
19 // empty();//判断队列是否为空
20 // size();//返回队列的大小
21
22 void test01()
23 {
24     queue<int> q; // 创建队列
25     q.push(10);
26     q.push(20);
27     q.push(30);
28     q.push(40);
29     cout << "队尾:" << q.back() << endl;
30     while (q.size() > 0)
31     {
32         cout << q.front() << " "; // 输出对头元素
33         q.pop();
34     }
35 }
36
37 int main()
38 {
39     test01();
40     getchar();
41     return 0;
42 }

原文地址:https://www.cnblogs.com/duxie/p/10902170.html

时间: 2024-10-21 07:02:05

C++ STL 之 queue的相关文章

STL 之 queue、priority_queue 源码剖析

/* * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all c

STL之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.fron

Gengxin讲STL系列——Queue和Stack

第三篇. 感觉队列和栈是必须的……所以决定加上这两个…… 我发现我已经买域名买上隐了……今天又买了个.top……真是智障…… Queue(队列FIFO)和Statk(栈FILO). 那么为什么要这两个一块讲呢?理由很简单,数据结构小班同志们都学了,基础原理都会了,这两个东西很像,无论是在操作上还是其他别的方面…… 而这篇博客主要是详解STL中queue和statk的用法. 首先,回顾一下队列和栈: (1)     非STL的队列实现方法: 用数组模拟一个队列,两个指针,分别指向队列的头和尾,入队

c++ STL:队列queue、优先队列priority queue 的使用

说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构.1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一个元素4.pop() 删除第一个元素5.push() 在末尾加入一个元素6.size() 返回队列中元素的个数

C++ 标准模板库STL 队列 queue 使用方法与应用介绍

C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型. 定义queue对象的示例代码如下: queue<int> q1; queue<double> q2; queue的基本操作有: 入队,如例:q.push(x); 将x接到队列的末端. 出队,如例:

C++ STL学习——queue

我们在上一篇博客中<C++ STL学习--stack>简单介绍了STL 中stack这种数据结构的使用,这篇博客主要来讲一下queue队列的使用.其实queue的使用和stack一样简单.示例代码上传至 https://github.com/chenyufeng1991/STL_queue . (1)首先要引入头文件  #include <queue> . 并使用命名空间  using namespace std; (2)同stack一样,queue也不能使用迭代器.因为queue

STL学习 - queue了解

Queue是STL中的队列表示. 特点是先进先出(First In First Output FIFO). 允许的操作是新增元素,移除元素,从最底端添加元素,从最顶端获取元素,除了从底端加入元素,从顶端取出外,没有任何其它方法可以存取queue的其他元素,也就是说queue不允许有遍历行为. 把元素推入queue的操作为push, 将元素推出queue的操作为pop. 由于queue系以底部容器完成其所有工作,而具有这种"修改某物接口,形成另外一种风貌"的性质的,称为adapter(容

问题解决——在STL的queue中使用自定义类

本文原创,转载请保证文章的完整性,并显要的注明出处. 本文链接:http://blog.csdn.net/wlsgzl/article/details/38843513 平时很少用STL,就算用,也基本是使用queue<int>之类的简单数据类型,偶尔在MFC里写点小代码,用的也是queue<CString>. (求不要吐槽我为什么用CString不用string,在MFC里使用CString真的很方便,我对内存利用率和处理速度又没有什么要求,能跑就行,请勿吐槽.) =======

STL之queue

描述 使用STL中的queue,完成入队.出队.获取队首.获取队尾等基本操作. 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码. int main() { queue<int> qu; int n; cin>>n; while(n--) { Op(qu); } while(!qu.empty()) { cout<<qu.front()<<endl; qu.pop(); } return 0; } 输入 输入数据第一行为整数n,接下来有n个命令,其

C++ STL学习 queue

本文修改自http://www.cnblogs.com/hdk1993/p/5809180.html 1.使用queue需要声明头文件#include <queue> 2.queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型. 3.queue 的基本操作有:入队,如例:que.push(x); 将x 接到队列的末端.出队,如例:que.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值.访问队首元素,如例: