经典数据结构:队列的详解

简介: 经典数据结构:队列的详解

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

image.png

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

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

关于队列的描述

队列(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,而出队的顺序还是保持不变的。

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

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

相关文章
|
23天前
|
消息中间件 存储 搜索推荐
深入理解栈和队列(二):队列
深入理解栈和队列(二):队列
36 0
【队列】数据结构队列的实现
【队列】数据结构队列的实现
|
2月前
|
存储
数据结构--栈和队列
数据结构--栈和队列
|
2月前
|
存储 算法
数据结构— — 队列的基本操作
数据结构— — 队列的基本操作
33 0
|
24天前
|
存储 算法 索引
【算法与数据结构】队列的实现详解
【算法与数据结构】队列的实现详解
|
2月前
|
Python
Python实现数据结构(如:链表、栈、队列等)。
Python实现数据结构(如:链表、栈、队列等)。
36 0
|
4天前
|
算法 索引
数据结构与算法-三种队列基础入门
数据结构与算法-三种队列基础入门
8 0
|
16天前
|
存储 算法 调度
数据结构期末复习(3)栈和队列
数据结构期末复习(3)栈和队列
19 0
|
27天前
|
算法 C语言
【算法与数据结构】 C语言实现单链表队列详解2
【算法与数据结构】 C语言实现单链表队列详解
|
27天前
|
存储 算法 C语言
【算法与数据结构】 C语言实现单链表队列详解1
【算法与数据结构】 C语言实现单链表队列详解