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

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

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

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

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

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

相关文章
|
1月前
|
C语言
【数据结构】栈和队列(c语言实现)(附源码)
本文介绍了栈和队列两种数据结构。栈是一种只能在一端进行插入和删除操作的线性表,遵循“先进后出”原则;队列则在一端插入、另一端删除,遵循“先进先出”原则。文章详细讲解了栈和队列的结构定义、方法声明及实现,并提供了完整的代码示例。栈和队列在实际应用中非常广泛,如二叉树的层序遍历和快速排序的非递归实现等。
181 9
|
2月前
|
缓存 算法 调度
数据结构之 - 双端队列数据结构详解: 从基础到实现
数据结构之 - 双端队列数据结构详解: 从基础到实现
92 5
|
2月前
|
存储 算法 搜索推荐
探索常见数据结构:数组、链表、栈、队列、树和图
探索常见数据结构:数组、链表、栈、队列、树和图
115 64
|
23天前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
44 5
|
1月前
|
算法 安全 NoSQL
2024重生之回溯数据结构与算法系列学习之栈和队列精题汇总(10)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构王道第3章之IKUN和I原达人之数据结构与算法系列学习栈与队列精题详解、数据结构、C++、排序算法、java、动态规划你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!
|
2月前
初步认识栈和队列
初步认识栈和队列
64 10
|
2月前
|
存储 算法 定位技术
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
这篇文章主要介绍了稀疏数组和队列的概念、应用实例以及如何使用数组模拟队列和环形队列的实现方法。
26 0
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
|
2月前
|
存储 安全 Java
【用Java学习数据结构系列】探索栈和队列的无尽秘密
【用Java学习数据结构系列】探索栈和队列的无尽秘密
37 2
【数据结构】--- 栈和队列
【数据结构】--- 栈和队列
|
2月前
|
消息中间件 存储 Java
数据结构之 - 深入探析队列数据结构: 助你理解其原理与应用
数据结构之 - 深入探析队列数据结构: 助你理解其原理与应用
40 4