python模擬佇列 入出 清空佇列基本操作

2021-10-07 18:37:50 字數 1730 閱讀 9862

佇列與棧的結構類似,但不同的是佇列的出隊操作是在隊首元素進行的刪除操作。基本原則是先進先出。

用列表,列表的功能非常強大,既能模擬堆疊又能模擬佇列,出隊的時候

入隊的時候,直接在尾部加入:

list
如果對資料結構感興趣,可以檢視這篇博文:

執念斬長河專欄資料結構–目錄

實驗效果

實驗**:

# -*- coding:utf-8 -*-

class

pyqueue

:def

__init__

(self, size=20)

: self.queue =

self.size = size

self.end =-1

defsetsize

(self, size)

: self.size = size

defin(self,element)

:if self.end < self.size -1:

self.end = self.end +

1else

:raise queueexception(

'pyqueuefull'

)def

out(self)

:if self.end !=-1

: element = self.queue[0]

# 取出出隊的元素

self.queue = self.queue[1:

]# 挪位置

self.end = self.end -

1# 隊長-1

return element

else

:raise queueexception(

'pyqueueempty'

)def

end(self)

:return self.end

defempty

(self)

: self.queue =

self.end =-1

class

queueexception

(exception)

:def

__init__

(self,data)

: self.data = data

def__str__

(self)

:return self.data

if __name__ ==

'__main__'

:print

('建立佇列.....'

) queue = pyqueue(

)print

('入佇列....'

)for i in

range(20

):queue.in(i)

;print

('出佇列...'

)print

(queue.out())

print

('列印隊尾元素....'

)print

(queue.end())

print

('清空佇列....'

) queue.empty(

)

鏈佇列 入隊出隊

include include typedef struct lnode int data struct lnode next linklist typedef struct linklist front linklist rear linkqueue int inqueue linkqueue l...

python 清空佇列 python實現 佇列

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

佇列 出隊 入隊 銷毀 清空等

具體的佇列演算法實現 將n個隨機數入隊。實現出隊 再次入隊 列印佇列等方法。記憶體洩露是個大問題。記得free p p null p指標本身是在棧上儲存,不過p所指向的空間在堆上,所以需要程式設計師自行釋放,防止記憶體洩露。free p 之後p指標仍然存在,如果堆上原來指向的記憶體沒有被重寫,p還是...