C++ stl队列Queue用法介绍:删除,插入等操作代码举例
C++队列queue模板类的定义在头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。 C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。C++队列Queue类成员函数如下:back()返回最后一个元素empty()如果队列空则返回真fr
·
C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。
C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。
C++队列Queue类成员函数如下:
back() 返回最后一个元素
empty() 如果队列空则返回真
front() 返回第一个元素
pop() 删除第一个元素
push() 在末尾加入一个元素
size() 返回队列中元素的个数
定义queue 对象的示例代码如下:
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:
#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:
#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;
}
|
输出结果:
现在 queue 是否 empty? 1
myQ.size():10
0
myQ.size():9
1
myQ.size():8
2
myQ.size():7
3
myQ.size():6
4
请按任意键继续. . .
文章摘自 http://www.169it.com/article/2718050585107790752.html
更多推荐
已为社区贡献2条内容
所有评论(0)