Implementação da fila do Python

Índice

1. Definição

Em segundo lugar, a operação da fila

1. Adicione elementos

2. Excluir elementos

3. Determine se está vazio

4. Tamanho da fila

3. Código completo


1. Definição

A fila é semelhante à situação de uma fila para uma refeição em uma lanchonete: quem chega primeiro come primeiro, quem chega depois fica atrás e quem chega primeiro sai primeiro depois de comer. Ou, por exemplo, como um cano de água, as coisas colocadas primeiro sempre saem primeiro pela outra ponta, e as coisas colocadas depois saem pela outra ponta.

O resumo é o princípio de primeiro a entrar primeiro a sair e último a sair por último .

Em segundo lugar, a operação da fila

1. Adicione elementos

Inserir um elemento na posição 0 na lista

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

2. Excluir elementos

remover um elemento do final da lista

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

3. Determine se está vazio

Verifique se a lista está vazia

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

4. Tamanho da fila

Retorna o número de elementos da lista

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

3. Código completo

O significado do código é criar uma lista vazia. Toda vez que você adicionar um elemento à lista, insira (insira) na posição com subscrito 0 (também insira permanentemente o elemento na primeira posição da lista) e exclua ( pop) toda vez que é excluído do final. Perceba primeiro inserir primeiro excluir (primeiro a entrar primeiro a sair) e depois inserir depois excluir (último a entrar último a sair).

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())

resultado de saída

队列大小 4
1
2
3
4

Acho que você gosta

Origin blog.csdn.net/qq_37140721/article/details/130314897
Recomendado
Clasificación