想要坚持写点什么,那干脆写一个系列吧。想想有什么可以写的呢?程序=算法+数据结构,可见算法和数据结构的重要性。这个系列老诗力求用最简单的语言把算法和数据结构讲得明明白白,由浅到深,有兴趣的话,可以关注一下专栏。
之前的篇章都是给大家讲的算法,今天给大家讲一种数据结构。
数据结构就是属于按照特殊的数据存储方式进行存储和读写。它们都有着自己的规律。今天要给大家讲的是队列。
关于队列的描述
队列(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,而出队的顺序还是保持不变的。
更多的干货内容,项目源码,可以关注公众号:诗一样的代码
既然进来了,原创不易。小伙伴点个赞再走呗。