当前位置:首页 > C++目录 > 正文内容

【数据结构】队列—基本操作

亿万年的星光5年前 (2021-02-21)C++目录2146

一、C++实例分析

       C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。

       那么我们如何判断队列是空队列还是已满呢?

      a、栈空: 队首标志=队尾标志时,表示栈空。

      b、栈满 : 队尾+1 = 队首时,表示栈满。

       使用标准库的队列时, 应包含相关头文件,在栈中应包含头文件: #include< queue> 。定义:queue< int > q;

q.empty()               如果队列为空返回true,否则返回false
q.size()                返回队列中元素的个数
q.pop()                 删除队列首元素但不返回其值
q.front()               返回队首元素的值,但不删除该元素
q.push()                在队尾压入新元素
q.back()                返回队列尾元素的值,但不删除该元素


示例1

#include <queue>
#include <iostream>
using namespace std;
 
int main(){
	queue<int> q;
	//方式1: 
//	for (int i = 0; i < 10; i++){
//		q.push(i);
//	}
	//方式2:
	int x;
	while(cin>>x)
		q.push(x); 
	if (!q.empty()){
		cout << "队列的大小是:" << q.size() << endl;
	}
	
	return 0;
}


示例2:

#include <queue>
#include <iostream>
using namespace std;
 
int main(){
	queue<int> q;
	//方式1: 
//	for (int i = 0; i < 10; i++){
//		q.push(i);
//	}
	//方式2:
	int x;
	while(cin>>x)
		q.push(x); 
	
	cout<<"队头元素"<<q.front()<<endl;
	cout<<"队尾元素"<<q.back()<<endl; 
	
	return 0;
}

效果:


示例3:

#include <queue>
#include <iostream>
using namespace std;
 
int main(){
	queue<int> q;
	int x;
	while(cin>>x)
		q.push(x); 
	
	//出队列 
	while(!q.empty())
	{
		cout<<q.front()<<" ";
		q.pop();
	}
	
	
	return 0;
}

效果

扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【算法】单链表的一些操作(存取、查找、取出、插入、删除)

一、单链表结构的建立与输出#include<iostream> using namespace std; struct Node{ int ...

进制转换类问题汇总

二进制转十进制十进制转二进制十进制转M进制(M一般小于16)M进制转十进制M进制和N进制互转...

【算法】分治算法

前言所谓分治算法就是指分而治之,即将较大规模的问题分解成几个较小规模的问题,通过对较小问题的求解达到对整个问题的求解。当我们将问题分解成两个较小问题求解时的分治方法称为二分法。比如,我们玩过最简单的猜...

Code::Blocks下载安装教程

Code::Blocks下载安装教程

Code::Blocks 是一款免费、开源且跨平台的 C/C++ 集成开发环境。它支持 Windows、Linux 和 macOS 等多种操作系统,核心特点是轻量快速、纯专注于 C/C++ 开发,并内...

C++链表结构——单链表

0.前言存储方式分为顺序存储结构和链式存储结构。顺序存储结构的优缺点:优点:可以通过一个简单的公式随机存取表中的任一元素,逻辑关系上相邻的两个元素在物理位置上也是相邻的,且很容易找到前驱跟后继元素。缺...

图的访问与存储—临接矩阵

1. 什么是邻接矩阵?邻接矩阵是图的一种最基础的存储表示方法。它使用一个二维数组(即矩阵)来表示图中各个顶点之间的邻接关系。对于一个有 n 个顶点的图,其邻接矩阵是一个 n x n 的方阵,我们通常称...