了解堆栈

堆栈是一种线性数据结构,遵循后进先出(LIFO)原则。这意味着堆栈只有一端,用于添加项目和从结构中删除项目。在堆栈中添加新项目称为 push,而推送同时删除一个项目称为 pop。由于我们只有一端可以操作,所以我们总是要在这一端推入一个项目,而当我们弹出时,这一端的最后一个项目将被弹出。堆栈中最顶端的元素,也是堆栈末端最开始的元素,称为栈顶。

如果我们看一下下面的图片,就会发现每次进行 poppush 操作后,顶部都会发生变化。而且,我们是在栈顶执行操作,而不是在栈的开头或中间。我们必须小心在堆栈为空时弹出元素,以及在堆栈为满时推入元素。如果我们要推送的元素超过了栈的容量,可能会导致栈溢出。

image 2023 11 07 18 13 59 963

通过前面的讨论,我们现在知道堆栈中有四种基本操作:

  • Push:在堆栈顶部添加一个项目。

  • Pop:移除堆栈顶部的项目。

  • Top:返回栈顶项目。它与 pop 不同,因为它不会 它只是为我们获取值。

  • isEmpty:检查堆栈是否为空。

现在,让我们以不同的方式使用 PHP 实现堆栈。首先,我们将尝试使用 PHP 内置的数组函数来实现堆栈。然后,我们将研究如何在不使用 PHP 内置函数的情况下,通过使用其他数据结构(如链表)来构建堆栈。