使用数组实现栈

2025 年 4 月 21 日 | 阅读 4 分钟

在数组实现中,堆栈是使用数组形成的。所有关于堆栈的操作都使用数组进行。让我们看看如何在数组数据结构中使用堆栈实现每个操作。

将元素添加到堆栈(push操作)

将元素添加到堆栈顶部称为push操作。Push操作涉及以下两个步骤。

  1. 递增变量Top,使其现在可以指向下一个内存位置。
  2. 在递增的Top位置添加元素。这被称为在堆栈顶部添加新元素。

当我们尝试向完全填充的堆栈中插入元素时,堆栈会溢出,因此,我们的主函数必须始终避免堆栈溢出条件。

算法

时间复杂度:o(1)

C语言中的push算法实现

从堆栈中删除元素(Pop操作)

从堆栈顶部删除元素称为pop操作。当从堆栈中删除一个项目时,变量top的值将增加1。堆栈的最顶层元素存储在另一个变量中,然后top减1。该操作返回存储在另一个变量中的已删除值作为结果。

当我们尝试从已经为空的堆栈中删除元素时,会发生下溢条件。

算法

时间复杂度:o(1)

使用C语言实现POP算法

访问堆栈中的每个元素(Peek操作)

Peek操作涉及在不删除的情况下返回堆栈顶部存在的元素。如果我们尝试返回已为空的堆栈中的顶部元素,则可能会发生下溢条件。

算法

PEEK (STACK, TOP)

时间复杂度:o(n)

C语言中的Peek算法实现

C程序

示例

编译并运行

Java 程序

示例

编译并运行

C# 程序

示例

编译并运行