数组、队列和栈的区别
admin
2023-07-30 20:24:11
0

数组:
数组是存储在连续内存位置的项的集合。其思想是将同一类型的多个项存储在一起。这使得计算每个元素的位置变得更容易,只需向一个基值(即数组的第一个元素的内存位置)添加一个偏移量。
数组的图解表示如下:
数组

队列:
Queue是一种线性结构,它遵循执行操作的特定顺序。顺序为先进先出(FIFO)。队列的一个很好的例子是资源的任何消费者队列,其中最先到达的消费者将首先得到服务。栈和队列之间的区别在于删除。在堆栈中,我们删除最近添加的项;在队列中,我们删除最近添加的最少的项。
Queue的图解表示如下:

队列

栈:
Stack是一种线性数据结构,其中元素只能从列表(称为顶部)的一侧插入和删除。堆栈遵循后进先出(LIFO)原则,即最后插入的元素是最先出来的元素。向堆栈中插入一个元素称为push操作,从堆栈中删除一个元素称为pop操作。在堆栈中,我们总是用一个叫做top的指针来跟踪列表中最后一个元素。
栈的图解表示如下:
栈

下面是数组、堆栈和队列之间差异的表格表示:

队列 数组
队列是基于FIFO原理的,也就是说,最先插入的元素是最先从列表中出来的元素。 在数组中,元素属于索引,也就是说,如果你想进入第四个元素,必须在方括号内写变量名及其索引或位置,如arr[4] 栈是基于后进先出原则,即,最后插入的元素是列表中第一个出来的元素。
在队列中的插入和删除只能分别从后面和前面进行。 在数组中的插入和删除可以在数组中的任何索引处进行。 栈中的插入和删除只发生在称为top的列表的一端。
队列具有动态和固定的大小。 数组有固定的大小。 堆栈具有动态和固定的大小。
队列可以包含不同数据类型的元素。 数组包含相同数据类型的元素。 堆栈可以包含不同数据类型的元素。
不同类型的队列有环形队列、优先队列、双端队列。 不同类型的数组有1维、2维数组等。 Stack只有一种类型。

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...