資料結構Python實現 棧

2021-09-27 10:28:41 字數 2506 閱讀 6494

有些地方稱為堆疊。可以存入、訪問、刪除元素,其只能允許在容器的一端進行載入資料和輸出資料,任何時候訪問和刪除的資料都是最好存入的那個資料,預設了訪問的順序。其原理為後進先出。

pop()彈出棧頂元素 peek()返回棧頂元素,只是得到其數值並不彈出來 stack()建立乙個新的空棧

size()返回棧的元素個數 is_empty()判斷是否為空 push(item)新增乙個新的元素item到棧頂(壓棧)

既可以用順序表實現也可以用鍊錶實現。

在邏輯值上「 」,0 ,,(),【】都是假的

python列表獲取元素最後乙個值的方法

list1 = [1, 2, 3, 4, 5]

獲取list1的最後乙個元素,注意第二種方法的使用

print(list1[len(list1)-1])

print(list1[-1])

以此類推,可以獲取倒數第二,第三…個元素的值

print(list1[-2])

print(list1[-3])

print(list1[-4])

print(list1[-5])

python方法python函式的基本定義

函式定義的基本語法:

def 函式名([引數]):

函式體[return 返回值]

python任何函式定義必須以關鍵字def開始,後空一格緊跟函式名。定義 的函式名不能和內建函式有衝突,名稱本身要準確表達函式的功能,建議 用英文單詞全稱開頭。引數可有可無,但小括號以及冒號是函式的基本格 式要求,不能省略。

python語言編輯器中,除了預設的內建函式外,其他函式的呼叫,必須先通過import語句進行匯入,才能使用。

5.python類

把具有相同特性和行為的物件抽象為類,例如乙個長方形盒子,由長寬高構成,盒子有不同的顏色、材質、型別等,這些長寬高顏色構成了乙個盒子類的特性。

:資料(長寬高,顏色材質型別)-----屬性定義

函式(體積計算,重量計算等等)---------方法定義

class關鍵字:所有的類定義必須用class開始,就像所有自定義函式都用def開始一樣

類名:最好大寫

class 類名(): --小括號+冒號

類文件說明:用三個單引號』』』 成對說明內容,使用方法和函式文件說明一模一樣。

類函式

保留函式__init__和self關鍵字:

(1)所有類需要例項化,必須先在類裡宣告__init__函式,不然類的例項無法使用。最簡約格式如下definit(self)

(2)self關鍵字,在例項使用時,用於傳遞例項物件,必須在__init__定義並初始化,然後通過self傳遞

(3)例項通過點(.)可以呼叫屬性、方法兩個物件

棧的實現**

class stack(object):

def __init__(self):

self._list=

def push(self,item):

#新增新的元素到棧頂

def pop(self):

#彈出棧頂元素

return self._list.pop()

def peek(self):

#返回棧頂元素

if self._list:

return self._list[-1]

#返回列表的最後乙個元素

else:

return none;

def size(self):

return len(self._list)

def is_empty(self):

return self._list==

if __name__ == '__main__':

s=stack()

s.push(1);

s.push(2);

s.push(3);

s.push(4);

print(s.pop())

print(s.pop())

print(s.pop())

print(s.pop())

pop()彈出棧頂元素

peek()返回棧頂元素,只是得到其數值並不彈出來

stack()建立乙個新的空棧

size()返回棧的元素個數

is_empty()判斷是否為空

push(item)新增乙個新的元素item到棧頂(壓棧)

自己敲**遇到的幾個錯誤,總結:

資料結構 實現棧

include include include define node len sizeof node 1 pstack ptop pstack pbottom都指向節點 typedef struct node pnode,node typedef struct stack pstack,stack...

資料結構 棧實現

棧和佇列不一樣,棧是後進先出。實現時用了陣列儲存棧,陣列大小根據內容自動擴充。廢話不多說,上 c mystack.h pragma once templateclass mystack templateint mystack getcount templatet mystack top templa...

Python資料結構 棧

棧在python中屬於擴充套件資料結構,棧屬於一端開口一端封閉的容器,只允許在一端插入和刪除的線性表 top 插入刪除端,棧頂 push 入棧 壓棧 資料a進入棧頂,當資料b入棧,就到了棧頂,a壓入到棧頂的下乙個位置。棧只能對棧頂的位置進行操作,等b出棧後,方可對a操作。pop 出棧 退棧 gett...