C++ stl队列Queue用法介绍:删除,插入等操作代码举例
来源:互联网 发布:软件售前工程师待遇 编辑:程序博客网 时间:2024/05/17 08:25
C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。 C++队列Queue是一种容器适配器,它...
C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。
C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。
C++队列Queue类成员函数如下:
back()返回最后一个元素
empty()如果队列空则返回真
front()返回第一个元素
pop()删除第一个元素
push()在末尾加入一个元素
size()返回队列中元素的个数
定义queue 对象的示例代码如下:
1
2
queue<
int
> q1;
queue<
double
> q2;
queue 的基本操作举例如下:
queue入队,如例:q.push(x); 将x 接到队列的末端。
queue出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
访问queue队首元素,如例:q.front(),即最早被压入队列的元素。
访问queue队尾元素,如例:q.back(),即最后被压入队列的元素。
判断queue队列空,如例:q.empty(),当队列空时,返回true。
访问队列中的元素个数,如例:q.size()
C++ stl队列queue示例代码1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <cstdlib>
#include <iostream>
#include <queue>
using
namespace
std;
int
main()
{
int
e,n,m;
queue<
int
> q1;
for
(
int
i=0;i<10;i++)
q1.push(i);
if
(!q1.empty())
cout<<
"dui lie bu kong\n"
;
n=q1.size();
cout<<n<<endl;
m=q1.back();
cout<<m<<endl;
for
(
int
j=0;j<n;j++)
{
e=q1.front();
cout<<e<<
" "
;
q1.pop();
}
cout<<endl;
if
(q1.empty())
cout<<
"dui lie bu kong\n"
;
system
(
"PAUSE"
);
return
0;
}
C++ stl队列queue示例代码2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <queue>
#include <assert.h>
/*
调用的时候要有头文件: #include<stdlib.h> 或 #include<cstdlib> +
#include<queue> #include<queue>
详细用法:
定义一个queue的变量 queue<Type> M
查看是否为空范例 M.empty() 是的话返回1,不是返回0;
从已有元素后面增加元素 M.push()
输出现有元素的个数 M.size()
显示第一个元素 M.front()
显示最后一个元素 M.back()
清除第一个元素 M.pop()
*/
using
namespace
std;
int
_tmain(
int
argc, _TCHAR* argv[])
{
queue <
int
> myQ;
cout<<
"现在 queue 是否 empty? "
<< myQ.empty() << endl;
for
(
int
i =0; i<10 ; i++)
{
myQ.push(i);
}
for
(
int
i=0; i<myQ.size(); i++)
{
printf
(
"myQ.size():%d\n"
,myQ.size());
cout << myQ.front()<<endl;
myQ.pop();
}
system
(
"PAUSE"
);
return
0;
}
输出结果:
1
2
3
4
5
6
7
8
9
10
11
12
现在 queue 是否 empty? 1
myQ.size():10
0
myQ.size():9
1
myQ.size():8
2
myQ.size():7
3
myQ.size():6
4
请按任意键继续. . .
0 0
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- 循环队列 + 插入 + 删除 + 遍历等操作
- <STL介绍>--Queue用法
- <STL介绍>--Queue用法
- C++STL之queue用法
- C++ STL 队列queue的用法
- C++STL之queue队列容器
- 顺序链表的插入删除等操作 C语言
- 单链表插入删除等操作
- 《数据结构》 队列(Queue)操作代码集合
- STL--queue(队列)
- STL - queue(队列)
- redis订阅发布模式
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(15)----帧缓冲
- HTTPS的七个误解
- [leetcoide] 【字符串】8. String to Integer (atoi)
- raspberry内核编译和模块开发
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- Linux 文件系统的创建与挂载方法
- Bootstrap插件预览
- mongodb安装教程。
- java中hashCode方法与equals方法的用法总结
- 使用UNIVOCITY-PARSERS创建和读取CSV文件
- 第三方APP微信支付Java服务端构建步骤
- 第7章 证据的效力如何
- 写给嵌入式程序员的循环冗余校验(CRC)算法入门引导