Python實現基本資料結構 佇列操作

2021-07-02 01:48:32 字數 1277 閱讀 2463

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