Python - Pile

Dans le dictionnaire anglais, le mot pile signifie disposer les objets sur un autre. C'est de la même manière que la mémoire est allouée dans cette structure de données. Il stocke les éléments de données de la même manière qu'un tas d'assiettes sont stockées les unes au-dessus des autres dans la cuisine. Ainsi, la structure de données de pile permet des opérations à une extrémité qui peut être appelée en haut de la pile. Nous pouvons ajouter des éléments ou supprimer des éléments uniquement à partir de ce et de la pile.

Dans une pile, l'élément inséré en dernier dans la séquence sortira en premier car nous ne pouvons retirer que du haut de la pile. Cette fonction est connue sous le nom de fonction Last in First Out (LIFO). Les opérations d'ajout et de suppression des éléments sont appeléesPUSH et POP. Dans le programme suivant, nous l'implémentons en tant que fonctions d'ajout et de suppression. Nous supprimons une liste vide et utilisons les méthodes append () et pop () pour ajouter et supprimer les éléments de données.

POUSSER dans une pile

class Stack:

    def __init__(self):
        self.stack = []

    def add(self, dataval):
# Use list append method to add element
        if dataval not in self.stack:
            self.stack.append(dataval)
            return True
        else:
            return False
# Use peek to look at the top of the stack

    def peek(self):     
	    return self.stack[-1]

AStack = Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.peek()
print(AStack.peek())
AStack.add("Wed")
AStack.add("Thu")
print(AStack.peek())

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant:

Tue
Thu

POP à partir d'une pile

Comme nous savons que nous ne pouvons supprimer que l'élément de données le plus haut de la pile, nous implémentons un programme python qui fait cela. La fonction de suppression du programme suivant renvoie l'élément le plus haut. nous vérifions l'élément supérieur en calculant d'abord la taille de la pile, puis nous utilisons la méthode intégrée pop () pour trouver l'élément le plus haut.

class Stack:

    def __init__(self):
        self.stack = []

    def add(self, dataval):
# Use list append method to add element
        if dataval not in self.stack:
            self.stack.append(dataval)
            return True
        else:
            return False
        
# Use list pop method to remove element
    def remove(self):
        if len(self.stack) <= 0:
            return ("No element in the Stack")
        else:
            return self.stack.pop()

AStack = Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.add("Wed")
AStack.add("Thu")
print(AStack.remove())
print(AStack.remove())

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant:

Thu
Wed