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

【数据结构】队列—基本概念

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

一、基本定义

队列是一种先进先出的线性结构,简称FIFO结构。特点就是“先进先出”


二、队列的相关概念

  1. 队头与队尾:允许元素插入的一端称为队尾,允许元素删除的一端称为队头

  2. 入队:队列的插入操作

  3. 出队:队列的删除操作


例如我们有一个存储型元素的队列,我们依次入队:{1,2,3}

添加元素时,元素只能从队尾一端进入队列,也即是2只能跟在1后面,3只能跟在2后面。如果在队列中的元素要出队:

元素只能从队首出队列,出队列的顺序为1,2,3,与入队列时的顺序一致,这就是所谓的“先进先出”。


三、队列的分类

  1. 基于数组的循环队列(循环队列)

  2. 基于链表的队列(链队列)

三、队列的基本操作

  1. 入队:push

  2. 出队:pop

  3. 求队列元素个数:size

  4. 判断是否为空: empty

  5. 队首元素:front

  6. 队尾元素:back

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

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

    分享给朋友:

    相关文章

    【STL】二分查找函数(算法)—binary_search

    【说明】binary_search() 实现了一个二分查找算法。它会在前两个参数指定范围内搜索等同于第三个参数的元素。指定范围的迭代器必须是正向迭代器而且元素必须可以使用 < 运算符来比较。这个...

    unsigned

    在一些代码中,经常能看到unsigned这种数据类型,比如下面这样的。#include<iostream> using namespace std; int&nbs...

    【题解】最短路径问题

    【题目描述】平面上有n个点(n≤100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现...

    【数据结构】优先队列(1)

    优先队列(Priority Queue)是一种特殊的队列,它 不遵循“先进先出”(FIFO) 的原则,而是 按照优先级(Priority) 来出队。优先级高的元素 先出队,优先级低的元素 后出队。1....

    树的存储结构

    【方法1:数组】称为父亲表示法const int m=10;          ...

    【算法】前缀和与差分(3)二维数组前缀和

    【算法】前缀和与差分(3)二维数组前缀和

    0.前言前面的一篇文章,介绍了一维数组的前缀和,这篇文章中,介绍一下二维数组的前缀和1.定义二维数组的前缀和就是按照二维数组求和。公式如下:那二维前缀和中一个f[i][j]表示的意思就是以(1,1)为...