棧的概念與資料結構
棧(有時稱為「後進先出棧」)是乙個元素的有序集合,其中新增移除新元素總發生在同一端。這一端通常稱為「頂部」。與頂部對應的端稱為「底部」。棧的底部很重要,因為在棧中靠近底部的元素是儲存時間最長的。最近新增的元素是最先會被移除的。這種排序原則有時被稱為 lifo,後進先出。它基於在集合內的時間長度做排序。較新的項靠近頂部,較舊的項靠近底部。棧的定義棧的抽象資料型別定義:棧的抽象資料型別應該由以下結構和操作定義。棧操作如下:
1class
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
(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.棧的儲存方式 順序儲存 陣列 空間固定 所以需要預先知道所需要開闢的空間有多大 陣列難以進行擴容 所以導致可用空間是有限的 鏈式儲存 鍊錶 棧可以理解為鍊錶的頭插頭刪 這種儲存...