「實現佇列」python語言

2021-09-12 02:34:51 字數 2134 閱讀 7181

題目描述:

實現乙個佇列的資料結構,使其具有以下方法:入佇列,出佇列,檢視佇列尾元素, 檢視佇列的大小功能。

方法一:陣列實現

class queue1:

"""利用陣列實現"""

def __init__(self):

"""初始化"""

self.array =

self.front = 0 # 隊頭

self.rear = 0 # 隊尾

def isempty(self):

"""判斷佇列是否為空"""

return self.front == self.rear

def size(self):

"""判斷佇列的大小"""

return self.rear - self.front

def getfront(self):

"""返回佇列首元素"""

if self.isempty():

return none

return self.array[self.front]

def getback(self):

"""返回佇列尾元素"""

if self.isempty():

return none

return self.array[self.rear - 1]

def dequeue(self):

"""刪除佇列頭元素"""

if self.rear > self.front:

self.front += 1

else:

print("隊列為空")

def enqueue(self, item):

"""把新元素加入隊尾"""

self.rear += 1

方法二:鍊錶實現

class lnode:

"""節點"""

def __new__(self, x):

self.data = x

self.next = none

class queue2:

def __init__(self):

self.head = none

self.end = none

def empty(self):

"""判斷佇列是否為空,空返回true,否則返回false"""

if not self.head:

return true

else:

return false

def size(self):

"""獲取棧中的元素個數"""

size = 0

p = self.head

while p != none:

p = p.next

size += 1

return size

def enqueue(self, e):

"""把元素加入佇列尾部"""

p = lnode()

p.data = e

p.next = none

if self.head == none:

self.head = self.end = p

else:

self.end.next = p

self.end = p

def dequeue(self):

"""刪除佇列首元素"""

if self.head == none:

print("佇列已經為空")

self.head = self.head.next

if self.head == none:

self.end = none

def getfront(self):

"""獲得佇列首元素"""

if self.head == none:

print("隊列為空")

return none

return self.head.data

def getback(self):

if self.end == none:

print("隊列為空")

return none

return self.end.data

python 清空佇列 python實現 佇列

佇列 佇列的乙個特性是 先進先出 first in first out,fifo python中,同樣可以使用列表來儲存佇列的資料。通過建立乙個佇列類,便可以方便的對佇列進行操作。主要有 入隊 in 出隊 out 清空佇列 empty 設定佇列大小 setsize 獲取隊尾位置 getend 等 p...

佇列(python實現)

adt queue queue self 建立空佇列 is empty self 判斷佇列是否為空 enqueue self,elem 入隊 dequeue self 出隊 peek self 檢視最早入隊的元素,不刪除class queueunderflow valueerror 空佇列訪問 pa...

Python實現佇列

佇列 是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。特點 先進先出。class queue object def init self se...