資料結構 棧stack

2022-05-15 14:29:11 字數 1251 閱讀 9932

棧的概念與資料結構

棧(有時稱為「後進先出棧」)是乙個元素的有序集合,其中新增移除新元素總發生在同一端。這一端通常稱為「頂部」。與頂部對應的端稱為「底部」。棧的底部很重要,因為在棧中靠近底部的元素是儲存時間最長的。最近新增的元素是最先會被移除的。這種排序原則有時被稱為 lifo,後進先出。它基於在集合內的時間長度做排序。較新的項靠近頂部,較舊的項靠近底部。  

棧的抽象資料型別定義:棧的抽象資料型別應該由以下結構和操作定義。棧操作如下:
棧的定義

1

class

stack(object):

2def

__init__

(self):

3 self.stack =45

def__str__

(self):

6return

str(self.stack)78

defpush(self, item):910

11def

pop(self):

12return self.stack.pop() if self.stack else

"stack is empty!"13

14def

peek(self):

15return len(self.stack) - 1

1617

defisempty(self):

18return self.stack ==

1920

defsize(self):

21return len(self.stack)

棧的使用

1 s=stack()

2print

(s.isempty())

3 s.push(4)

4 s.push('

dog')5

print

(s.peek())

6s.push(true)

7print

(s.size())

8print

(s.isempty())

9 s.push(8.4)

10print

(s.pop())

11print

(s.pop())

12print(s.size())

資料結構 棧(Stack)

只允許在一端進行插入或刪除操作的線性表。首先,棧是一種線性表,但限定這種線性表只能在某一段進行插入和刪除操作。棧頂 top 線性表允許進行插入和刪除的一端。棧底 bottom 固定的,不允許進行插入和刪除的另一端。空棧 不含任何元素。如上圖 a1為棧底元素,an為棧頂元素。由於棧只能在棧頂進行插入和...

資料結構 棧(Stack)

棧 英語 stack 又稱為堆疊或堆疊,棧作為一種資料結構,它按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料 最後乙個資料被第乙個讀出來 由於堆疊資料結構只允許在一端進行操作,因而按照後進先出 lifo last in first out 的...

《資料結構》 棧Stack

一.棧stack 先進後出 filo 1.棧的主要功能是進行資料的儲存和計算 棧是一種容器 是具有特殊限制的鍊錶或陣列 2.棧的儲存方式 順序儲存 陣列 空間固定 所以需要預先知道所需要開闢的空間有多大 陣列難以進行擴容 所以導致可用空間是有限的 鏈式儲存 鍊錶 棧可以理解為鍊錶的頭插頭刪 這種儲存...