数据结构之栈、队列和数组的基本概念

数组(Array)

数组是一种线性数据结构,它包含一系列相同类型的元素,这些元素在内存中连续存储。数组的每个元素都有一个唯一的索引,用于访问该元素。索引通常从0开始,但也有例外,如某些编程语言可能从1开始。

数组的特性:
长度固定:一旦数组被创建,其大小就不能改变。
连续存储:数组中的元素在内存中连续存储,可以通过索引直接访问。
可通过索引快速访问元素:访问数组中的元素的时间复杂度是O(1)。

栈(Stack)

栈是一种后进先出(LIFO, Last In First Out)的数据结构。它只允许在一端进行插入和删除操作,这一端通常被称为栈顶(top)。栈底(bottom)是栈的另一端,元素在栈底保持不动。

栈的基本操作:

push(element):向栈顶添加元素。
pop():从栈顶删除元素,并返回该元素。
peek()top():返回栈顶元素,但不删除它。
isEmpty():检查栈是否为空。

队列(Queue)

队列是一种先进先出(FIFO, First In First Out)的数据结构。它有两个端点:队头(front)和队尾(rear)。新元素总是添加到队尾,而读取元素则始终从队头开始。

队列的基本操作:

enqueue(element):在队尾添加一个元素。
dequeue():从队头删除一个元素,并返回该元素。
front():返回队头元素,但不删除它。
rear():返回队尾元素,但不删除它(注意:不是所有队列实现都提供此操作)。
isEmpty():检查队列是否为空。

总结

数组:固定长度的连续存储结构,可通过索引快速访问元素。

栈:后进先出的数据结构,只允许在一端进行插入和删除操作。

队列:先进先出的数据结构,有两个端点,新元素在队尾添加,旧元素从队头删除。

相关推荐

  1. 数据结构队列和数基本概念

    2024-07-20 10:36:02       16 阅读
  2. C++常用三类数据结构--队列数组

    2024-07-20 10:36:02       53 阅读
  3. 数据结构----队列

    2024-07-20 10:36:02       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 10:36:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 10:36:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 10:36:02       45 阅读
  4. Python语言-面向对象

    2024-07-20 10:36:02       55 阅读

热门阅读

  1. RoCE(RDMA over Converged Ethernet)网络速率测试工具

    2024-07-20 10:36:02       16 阅读
  2. 读取 Excel 文件

    2024-07-20 10:36:02       14 阅读
  3. 实战:springboot用LocalDateTime快速替换Date

    2024-07-20 10:36:02       15 阅读
  4. Spark的部署模式

    2024-07-20 10:36:02       16 阅读
  5. Shell 构建flutter + Android 生成Apk

    2024-07-20 10:36:02       14 阅读
  6. 前端面试题日常练-day95 【Less】

    2024-07-20 10:36:02       15 阅读
  7. 前端TS习题

    2024-07-20 10:36:02       14 阅读