佇列
'''queue() 建立乙個空佇列
enqueue(item) 新增元素
dequeue() 從佇列頭部刪除乙個元素
is_empty() 判斷乙個佇列是否為空
size() 返回佇列的大小
'''class
queue(object):
'''佇列
'''def
__init__
(self):
self.items =
defis_empty(self):
return self.items ==
defenqueue(self,item):
'''進佇列
'''self.items.insert(0,item)
defdequeue(self):
'''出佇列
'''return
self.items.pop()
defsize(self):
'''返回佇列的大小
'''return len(self.items)
雙端佇列
'''deque() 建立乙個空的雙端佇列
add_front(item) 從隊頭加入乙個item元素
add_rear(item) 從隊尾加入乙個item元素
remove_front() 從隊頭刪除乙個item元素
remove_rear() 從隊尾刪除乙個item元素
is_empty() 判斷雙端佇列是否為空
size() 返回佇列的大小
'''class
deque(object):
'''雙端佇列
'''def
__init__
(self):
self.items =
defis_empty(self):
"""判斷佇列是否為空
"""return self.items ==
defadd_front(self,item):
"""在隊頭新增元素
"""self.items.insert(0,item)
defadd_rear(self,item):
"""在隊尾新增元素
"""
defremove_front(self):
"""從隊頭刪除元素
"""return
self.items.pop(0)
defremove_rear(self):
"""從隊尾刪除元素
"""return
self.items.pop()
defsize(self):
"""返回佇列大小
"""return len(self.items)
2020-05-07
資料結構 佇列 雙端佇列
佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端為隊尾,允許刪除的一端為對頭。佇列不允許在中間部位進行操作。假設佇列是q 那麼a1就是對頭元素,而an是隊尾元素。這樣我們就可...
資料結構 佇列和雙端佇列及應用
queue 佇列的特點就是fifo first in first out 即先進先出,其新增資料項時僅新增到佇列的末尾,刪除資料時也僅從佇列首端刪除,其在日常有許多應用,比如排隊 鍵盤打字緩衝以及印表機等等。佇列在演算法中的應用最為基礎的就是hotpotato演算法。以下便是我在佇列學習中的總結。首...
資料結構之雙端佇列
摘要 有時候乙個佇列可能需要能從兩端進出,這時候稱呼它為雙端佇列。具體思路很簡單,從 可以直接看出來。include stdafx.h include malloc.h include stdlib.h typedef struct dequeuerecord queue struct dequeu...