佇列(queue),是一種操作受限的線性表。只允許在佇列的一端新增元素,在佇列的另一端刪除元素。能新增元素的一端稱為隊尾,能刪除元素的一端稱為隊頭。
佇列最大的特性是:先進先出(fifo,first in first out)
下面為普通佇列的python實現:
#列印結果為:!/usr/bin/env python
#-*- coding:utf-8 -*-
__author__ = "
hsz"
class
queue(object):
"""佇列
"""def
__init__(self, maxsize=0):
"""maxsize<=0代表佇列不限定大小
"""self.queue =
self.maxsize =maxsize
defis_empty(self):
return len(self.queue) ==0
defis_full(self):
if self.maxsize <=0:
return
false
else
:
return len(self.queue) ==self.maxsize
defenqueue(self, item):
"""入隊
"""if
self.is_full():
raise exception("
queue is full!")
else
:
defdequeue(self):
"""出隊
"""if
self.is_empty():
raise indexerror("
queue is empty!")
else
:
return
self.queue.pop(0)
defsize(self):
return
len(self.queue)
defget_front(self):
"""返回隊頭元素
:return:
"""if
self.is_empty():
raise indexerror("
queue is empty!")
else
:
return
self.queue[0]
defget_rear(self):
"""返回隊尾元素
:return:
"""if
self.is_empty():
raise indexerror("
queue is empty!")
else
:
return self.queue[-1]
defprint_queue(self):
return
self.queue
if__name__ == "
__main__":
#例項化物件佇列
queue =queue()
#入隊四個數
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
queue.enqueue(4)
print(queue.queue) #
[1, 2, 3, 4]
print(queue.is_empty()) #
false 佇列不為空
print(queue.is_full()) #
false 佇列沒有到最大元素
#出隊 先入先出 出的是1 所有剩 [2,3,4]
queue.dequeue()
(queue.queue)
#返回佇列的元素個數 3
(queue.size())
#獲取佇列的頭資料 2
(queue.get_front())
#獲取佇列的尾資料 4
(queue.get_rear())
#列印佇列所有資料 [2,3,4]
print(queue.print_queue())
[1, 2, 3, 4]其他型別待續。。。false
false
[2, 3, 4]32
4[2, 3, 4]
佇列的實現 Python
今天,給大家分享一下佇列實現的一些方法。我們說一下什麼是佇列,佇列就是先進去的先出來 現在我將佇列實現的方法在下述 裡面 class queue object 佇列 def init self self.list def enqueue self,item 往佇列中新增乙個item元素 def de...
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...