# -*- coding:utf-8 -*-
# Author: Greed_Vic(PL Z)
# Product_name: PyCharm
# File_name: Queue
# @Time: 23:10 2021/6/6
from linked_list import * # 利用链表进行队列数据结构 在上一篇博客哦!
class Queue(object):
def __init__(self, maxsize=None):
self.maxsize = maxsize
self._item_liked_list = LinkedList() #
def __len__(self):
return len(self._item_liked_list)
def push(self, val):
if self.maxsize is not None and len(self) >= self.maxsize:
raise Exception('queue full')
return self._item_liked_list.append(val)
def pop(self):
if len(self) <= 0:
raise Exception('queue empty')
return self._item_liked_list.popleft()
if __name__ == '__main__':
"""
检测
"""
def test_q():
q = Queue()
q.push(0)
q.push(1)
q.push(2)
assert len(q) == 3
assert q.pop() == 0
assert q.pop() == 1
assert q.pop() == 2
test_q()
基于python的数据结构 之 【对列(FIFO结构)】
最新推荐文章于 2022-07-08 21:31:12 发布