Pythonキューの実装

目次

1. 定義

第二に、キューの操作

1.要素を追加する

2. 要素を削除する

3. 空かどうかを確認します

4. キューのサイズ

3. 完全なコード


1. 定義

行列は食堂で食事の列に並ぶのと同じで、先に来た人が先に料理を受け取り、後から来た人が後ろに並び、先に来た人が食べ終わると先に帰っていきます。あるいは、例えば水道管のように、最初に入れたものは必ず反対側の端から先に出て、後から入れたものは反対側の端から出てきます。

要約は先入れ先出し後入れ後出しの原則です。

第二に、キューの操作

1.要素を追加する

リストの位置 0 に要素を挿入します

    def enqueue(self, item):
        # 往队列中添加一个item元素
        self.__items.insert(0, item)

2. 要素を削除する

リストの末尾から要素を削除します

    def dequeue(self):
        # 从队列尾部删除一个元素
        return self.__items.pop()

3. 空かどうかを確認します

リストが空かどうかを確認する

    def is_empty(self):
        # 判断一个队列是否为空
        return self.__items == []

4. キューのサイズ

リスト要素の数を返します

    def size(self):
        # 返回队列的大小
        return len(self.__items)

3. 完全なコード

コードの意味は、空のリストを作成することです。リストに要素を追加するたびに、添字 0 の位置に挿入 (挿入) (リストの最初の位置にも要素を永続的に挿入)、削除 ( Pop) は毎回最後から削除されます。最初に挿入してから削除 (先入れ先出し)、次に挿入してから削除 (後入れ後出し) を実現します。

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

    def enqueue(self, item):
        # 往队列中添加一个item元素
        self.__items.insert(0, item)

    def dequeue(self):
        # 从队列尾部删除一个元素
        return self.__items.pop()

    def is_empty(self):
        # 判断一个队列是否为空
        return self.__items == []

    def size(self):
        # 返回队列的大小
        return len(self.__items)


if __name__ == '__main__':
    q = Queue()
    q.enqueue(1)
    q.enqueue(2)
    q.enqueue(3)
    q.enqueue(4)
    print("队列大小", q.size())
    print(q.dequeue())
    print(q.dequeue())
    print(q.dequeue())
    print(q.dequeue())

出力結果

队列大小 4
1
2
3
4

おすすめ

転載: blog.csdn.net/qq_37140721/article/details/130314897