Python實現基本資料結構中棧的操作示例

2022-10-04 20:45:33 字數 1218 閱讀 3946

#! /usr/bin/env python

#coding=utf-8

#python實現基本資料結構---棧操作

程式設計客棧class stack(object):

def __init__(self,size):

self.size = size

self.stack =

self.top = 0#初始化,top=0時則程式設計客棧為空棧

def push(self,x):

if self.stackfull():#進棧之前檢查棧是否已滿

raise exception("overflow !")

else:

self.stack.append(x)

self.top=self.top+1#push進去的第乙個元素下標為1

def pop(self):

if self.stackempty():

raise exception("underflow !")

else:

self.top=self.top-1

return self.stack.pop()#利用python內建函式pop()實現rscktx彈出

def stackempty(self):

if self.top == 0:#判斷棧空

return true

else:

return false

def stackfull(self):

if self.top == self.size:#判斷棧滿!!!

return true

else:

return false

if __name__ == '__main__':

print "我們測試結果:"

s=stack(10)

for i in range(3):

s.push(i)

print s.stack

print s.pop()

print s.stack

print s.pop()

print s.pop()

print s.stack

print s.stackempty()

print s.stackfull()

for i in range(10):

s.push(i)

print s.stackfull()

執行結果:

Python 基本資料結構

列表是python裡的內建的型別之一,可以新增和刪除其中的元素。如 role sam 33 dean 37 可以列表中包含列表,同一列表中包含不同型別的資料。下面介紹列表的一些通用操作,關於list的其他用法,可以通過help list 檢視。a 2,13,12,41,17,23 a 1 列表從0開...

python 基本資料結構

1.切片 sname start?step sname 為序列名稱 start 不指定 預設為0 包含 end 不包含 step 不指定 預設為1 2.序列可以通過 相加 song1 a,b song2 c,d print song1 song2 3.序列相乘 song1 a print song1...

python中基本資料結構(四)

二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹的建立 建立二叉樹節點 class treenode object 初始化節點 def init self,data,left node none,right no...