Implémentation de la file d'attente Python

Table des matières

1. Définition

Deuxièmement, le fonctionnement de la file d'attente

1. Ajouter des éléments

2. Supprimer des éléments

3. Déterminez s'il est vide

4. Taille de la file d'attente

3. Code complet


1. Définition

La file d'attente est similaire à la situation où l'on fait la queue pour un repas dans une cafétéria.Ceux qui arrivent en premier reçoivent leur nourriture en premier, ceux qui arrivent plus tard sont à l'arrière et ceux qui arrivent en premier partent en premier après avoir mangé. Ou par exemple, comme une conduite d'eau, les choses insérées en premier sortent toujours par l'autre extrémité en premier, et les choses insérées plus tard sortent par l'autre extrémité.

Le résumé est le principe du premier entré, premier sorti et dernier entré, dernier sorti .

Deuxièmement, le fonctionnement de la file d'attente

1. Ajouter des éléments

Insérer un élément à la position 0 dans la liste

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

2. Supprimer des éléments

supprimer un élément de la fin de la liste

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

3. Déterminez s'il est vide

Vérifier si la liste est vide

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

4. Taille de la file d'attente

Renvoie le nombre d'éléments de la liste

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

3. Code complet

La signification du code est de créer une liste vide. Chaque fois qu'un élément est ajouté à la liste, il est inséré (insert) à la position avec l'indice 0 (il est également inséré en permanence à la première position de la liste), et chaque fois qu'il est supprimé (pop) est supprimé de la fin. Réalisez d'abord insérez la première suppression (premier entré, premier sorti), puis insérez la suppression ultérieure (dernier entré, dernier sorti).

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

résultat de sortie

队列大小 4
1
2
3
4

Je suppose que tu aimes

Origine blog.csdn.net/qq_37140721/article/details/130314897
conseillé
Classement