C++ Queue知识点

定义及特性

队列queue是一种先进先出的线性表。它只允许在表的一端进行插入,而在另一端删除元素。允许插入的一端称为队尾(rear),允许删除的一端称为队头(front)

特性

  • 不能进行遍历(不提供迭代器)
  • 不支持随机访问
  • 只能在队头进行删除, 在队尾进行插入
    在这里插入图片描述

头文件

#include< iostream>
#include< queue >
using namespace std;


初始化

queue<int> q;        //定义空队列q
queue<double> q[20]; //规定元素个数为20

常用函数

在这里插入图片描述

①push() 入队

q.push(10);
q.push(20);
q.push(30);
q.push(100);  //从队头到队尾元素依次为10,20,30,100

②pop() 删除队头元素

q.push(10);
q.push(20);
q.push(30);
q.push(100);
q.pop();    //从队头到队尾元素依次为20,30,100

③front() 返回队头元素

q.push(10);
q.push(20);
q.push(30);
q.push(100);
q.pop();
cout << q.front() <<endl;  //输出结果为20

④back() 返回队尾元素

q.push(10);
q.push(20);
q.push(30);
q.push(100);
cout << q.back() <<endl;  //输出结果为100

⑤size() 返回队列的元素个数

q.push(10);
q.push(20);
q.push(30);
q.push(100);
q.pop();
cout << q.size() <<endl;   //输出结果为3

⑥empty() 队列为空返回真,非空返回假

while(!q.empty())

对以上操作进行实现:

扫描二维码关注公众号,回复: 8751778 查看本文章
#include<iostream>
#include<queue>
using namespace std;
int main()
{
 queue<int> q;     //q为空队列 
 q.push(10);
 q.push(20);
 q.push(30);
 q.push(100);      //将10,20,30,100入队,从队头到队尾依次为10,20,30,100 
 cout << "队列内元素个数:" << q.size() << endl; 
 cout << "输出队头元素:" << q.front() << endl ;
 cout << "输出队尾元素:" << q.back() << endl ;
 q.pop();    //删除队头元素 
 cout << "输出栈内现在元素:" << endl; 
 while(!q.empty())    //q非空,此循环是将队列内元素全部输出
 {
  cout << q.front() << " ";   //输出队头元素
  q.pop();                    //删除队头元素
  } 
  return 0;
}

运行结果:
在这里插入图片描述

发布了15 篇原创文章 · 获赞 43 · 访问量 4472

猜你喜欢

转载自blog.csdn.net/wmy0217_/article/details/103999843