经典数据结构:队列的详解|8月更文挑战关于队列的描述

这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战

想要坚持写点什么,那干脆写一个系列吧。想想有什么可以写的呢?程序=算法+数据结构,可见算法和数据结构的重要性。这个系列老诗力求用最简单的语言把算法和数据结构讲得明明白白,由浅到深,有兴趣的话,可以关注一下专栏。

之前的篇章都是给大家讲的算法,今天给大家讲一种数据结构。

数据结构就是属于按照特殊的数据存储方式进行存储和读写。它们都有着自己的规律。今天要给大家讲的是队列。

关于队列的描述

队列(Queue)这个东西是一种线性存储结构,它的特点是“先进先出”。

队列是头部只能输出,尾部只能输入

(1)队头与对尾:可以输出的部分叫头,可以输入的部分叫尾

(2)进队:把数据放进队尾

(3)出队:把数据从队头拿出来

其实队列这个数据结构也比较容易说明白。也就是我们去食堂排队打饭一样,一个接着一个,盛饭端叫做队头,然后新来的人从队尾插入。就是这么简单。

#include <queue>
#include <iostream>
using namespace std;
 
int main(){
	queue<int> q;
	for (int i = 0; i < 10; i++){
		q.push(i);
	}
	if (!q.empty()){
		cout << "队列q非空!" << endl;
		cout << "q中有" << q.size() << "个元素" << endl;
	}
	cout << "队头元素为:" << q.front() << endl;
	cout << "队尾元素为:" << q.back() << endl;
	for (int j = 0; j < 10; j++){
		int tmp = q.front();
		cout << tmp << " ";
		q.pop();
	}
	cout << endl;
	if (!q.empty()){
		cout << "队列非空!" << endl;
	}
	system("pause");
	return 0;
}
复制代码

上面的是c++实例,在c++中别人早就已经封装好队列,我们导入头文件#include<queue>直接用就可以了。

上面的操作是将10个数从0开始进队,然后再判空,然后再一个人从队列中出来。

进队的顺序是0123456789,而出队的顺序还是保持不变的。

更多的干货内容,项目源码,可以关注公众号:诗一样的代码

既然进来了,原创不易。小伙伴点个赞再走呗