Implement queue with Python list

来源:互联网 发布:淘宝上买手机是正品吗 编辑:程序博客网 时间:2024/05/20 16:20
# Completed implementation of a queue ADTclass Queue:    def __init__(self):        self.data = []    def is_empty(self):        return self.data == []    def enqueue(self, item):        self.data.insert(0, item)    def dequeue(self):        return self.data.pop()    def size(self):        return len(self.data)if __name__ == '__main__':    q = Queue()    q.enqueue('Hello')    q.enqueue('dog')    q.enqueue(3)    print(q.size())    while not q.is_empty():        print(q.dequeue(), end=', ')    print()

A simple case to use Queue:

from queue import Queuedef hot_potato(name_list, num):    '''A.K.A. Josephus problem.'''    sim_queue = Queue()    for name in name_list:        sim_queue.enqueue(name)    while sim_queue.size() > 1:        for i in range(num):            sim_queue.enqueue(sim_queue.dequeue())        sim_queue.dequeue()    return sim_queue.dequeue()if __name__ == '__main__':    print(hot_potato(["Bill", "David", "Susan", "Jane", "Kent", "Brad"], 7))
Susan



0 0
原创粉丝点击