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

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

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

一、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;
}

效果

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

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

    分享给朋友:

    相关文章

    【初级篇】函数(一)

    【初级篇】函数(一)

    0.函数的引入为什么要用函数呢?比较官方的说法是,过程的复用,你的一段逻辑,你有一段逻辑不断的在复用,就封装成函数去调用它。通俗的说法就是,把重复的过程集中到一块。例如,大家都学过如何求正方形的面积,...

    【数据结构】栈的基本操作

    0.前言上一篇中简单介绍了栈的定义,这一篇中介绍栈的基本用法,包含压栈,出栈,判断栈空,判断栈中元素个数等。下面进行详细介绍1.基本用法本文介绍的栈的主要操作,使用栈之前加入<stack>...

    【数论】组合数学—容斥原理

    【数论】组合数学—容斥原理

    概念在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重...

    多重背包问题

    一、问题定义有 n 种物品,每种物品有三个属性:重量 weight[i](正整数)价值 value[i](正整数)数量 count[i](正整数,表示...

    编写第一个C++程序

    编写第一个C++程序

    前面的文章介绍了Dev-C++的下载安装:【入门篇】>>> DEVC++下载、安装、简单使用 - 青少年编程知识记录 (codecoming.com)今天讲一下如何使用Dev-C++...

    常见的数据范围

    一、总结名称字节位数(二进制)最小值最大值位数(十进制)bool18011char18shrot 216    (-2^15  到2^15  -1)-...