#! /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...