队列的应用:热土豆

队列的应用:热土豆

1.内容

队列的应用:热土豆队列的应用:热土豆队列的应用:热土豆队列的应用:热土豆队列的应用:热土豆
队列的应用:热土豆

2.练习

"""
Queue() 创建一个空队列
enqueue(item) 插入队尾
dequeue()  返回队首元素
isEmpty() 返回是否为空
size() 返回队列数据项个数
"""


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

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

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

    def size(self):
        return len(self.items)


if __name__ == '__main__':
    q = Queue()
    print(q.isEmpty())
    q.enqueue(4)
    q.enqueue('dog')
    q.enqueue(True)
    print(q.size())
    print(q.isEmpty())
    q.enqueue(8.4)
    print(q.dequeue())
    print(q.dequeue())
    print(q.size())
from pythonds.basic.queue import Queue


def hotPotato(name_list, num):
    queue = Queue()
    for name in name_list:
        queue.enqueue(name)

    while queue.size() > 1:
        for i in range(num):
            queue.enqueue(queue.dequeue())
        queue.dequeue()

    return queue.dequeue()


if __name__ == '__main__':
    name_list = ['旋涡鸣人', '宇智波佐助', '小樱', '小李', '旗木卡卡西', '大蛇丸', '纲手', '自来也', '宇智波鼬', '兜']
    print(hotPotato(name_list, 3))
    print(hotPotato(name_list, 5))
    print(hotPotato(name_list, 7))

旗木卡卡西
小樱
旋涡鸣人

上一篇:C#学习笔记——Queue队列


下一篇:队列