Python实现的队列数据结构示例

一、队列结构的描述:

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
队列是一种先进先出的(First In First Out)的线性表,简称 FIFO。允许插入的一端为
队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是 q=(a1,
a2,……,an),那么 a1 就是队头元素,而 an 是队尾元素。这样就可以删除时,总是
从 a1 开始,而插入时,总是在队列最后。这也比较符合我们通常生活中的习惯,排在第一
个的优先出列,最后来的当然排在队伍最后。

二、队列的操作函数:

Queue() :创建一个空的队列
enqueue(item): 往队列中添加一个 item 元素
dequeue(): 从队列头部删除一个元素
is_empty(): 判断一个队列是否为空
size(): 返回队列的大小

三、实现代码:

class Queue(object):
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def en_queue(self, item):
        items = self.items.insert(0, item)
        return items

    def del_queue(self):
        return 'queue delete item :' + self.items.pop()

    def size(self):
        return 'queue size is:' + str(len(self.items))


if __name__ == '__main__':
    queue = Queue()
    queue.en_queue('I')
    queue.en_queue('use')
    queue.en_queue('python.')
    print(queue.size())
    print(queue.del_queue())
    print(queue.del_queue())
    print(queue.del_queue())

你可能感兴趣的:(数据结构)