堆栈(数据结构)

堆栈计算机科学中最重要的数据结构之一。为了理解堆栈的工作原理,请想一想一副面朝下的扑克牌。我们只能轻易地访问在上面的牌。当我们想看上面的牌时,有两件事我们可以做:我们可以偷看它,但把它留在堆栈上,或者我们可以把它弹出来。当我们把最上面的东西弹下来时,我们就是把它从堆栈里拿出来。如果我们想把另一张牌加到堆栈的顶部,我们就推。

堆栈被称为后进先出(LIFO)集合。这意味着我们最后添加(推)的东西是第一个被拉(弹)出来的东西。如果我们在牌堆上放的最后一张牌是一张A,那么我们从上面拉下的第一张牌也是这张A。

堆栈上的两个动作:推和弹。Zoom
堆栈上的两个动作:推和弹。

历史

该堆栈于1955年首次提出,然后于1957年获得专利,由德国人Friedrich L. Bauer提出。大约在同一时间,澳大利亚人查尔斯-伦纳德-汉布林也独立提出了同样的概念。

其他业务

在现代计算机语言中,堆栈的实现通常有更多的操作,而不仅仅是 "推 "和 "弹"。有些实现有一个函数可以返回堆栈的当前长度。另一个典型的辅助操作是 "top"(也被称为 "peek"),它可以返回栈的当前顶部元素而不将其移除。另一个常见的操作是 "dup",它对堆栈顶部的元素进行复制。

相关页面

  • 堆垛机

AlegsaOnline.com - 2020 / 2023 - License CC3