#! /usr/bin/env python
#coding=utf-8
class
queue
(object):
def__init__
(self,size):
self.size=size
self.head=-1
#初始化隊頭
self.tail=-1
#初始化隊尾
self.queue=
defenqueue
(self,x):
if self.isfull():#如果試圖往滿佇列插入元素,則發生上溢
raise exception("overflow !")
else:
self.tail += 1
#往佇列中加入元素是在尾部進行
defdequeue
(self):
if self.isempty():#如果試圖從空佇列刪除元素,則發生下溢
raise exception("underflow !")
else:
self.head += 1
#從佇列中刪除元素在隊頭進行,將隊頭後移
return self.queue.pop(0)#利用內建函式pop()將隊頭彈出
defisfull
(self):
#判斷佇列滿
#return (self.tail+1)%self.size == self.head
return self.tail-self.head+1==self.size
defisempty
(self):
#判斷佇列空!!!
return self.head == self.tail
if __name__ == '__main__':
q=queue(10)
for i in range(3):
q.enqueue(i)
print q.queue
print q.dequeue()
print q.queue
print q.dequeue()
print q.isempty()
print q.dequeue()
print q.isempty()
print q.queue
for i in range(9):
q.enqueue(i)
print q.queue
print q.isfull()
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實現基本資料結構 棧操作
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時則為空棧 defpush s...