[Python] Implémentation d’une Pile et une File à l’aide d’une Liste

Voici mon implémentation d’une pile et d’une file à l’aide d’une liste dans Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Les structures de données complexes
# Implémentation d'une Pile, File à l'aide d'une Liste

class Pile:
    
    """Implémentation d'une Pile à l'aide d'une Liste"""

    def __init__(self):
        # Initialiser une pile vide (libre)
        self.pile = []

    def SOM_P(self):
        """Retourner le sommet de la pile"""
        try:
            return self.pile[-1]
        except Exception, e:
            print "Error:", e

    def Empiler(self, element):
        """Insérer un élément au sommet de la pile (Push)"""
        return self.pile.append(element)

    def Depiler(self):
        """Supprimer l’élément de sommet de la pile (Pop)"""
        try:
            return self.pile.pop()
        except Exception, e:
            print "Error:", e

    def PileVide(self):
        """Retourner Vrai si la pile est vide, sinon Faux"""
        if self.pile == []:
            return True
        else:
            return False

    def AfficherPile(self):
        """Afficher tous les éléments de la Pile"""
        for i in self.pile:
            print self.pile[i],
        print


class File:
    
    """Implémentation d'une File à l'aide d'une Liste"""

    def __init__(self):
        # Initialiser une file vide (libre)
        self.file = []

    def Enfiler(self, element):
        """Insérer un élément à la queue d’une file"""
        return self.file.append(element)

    def Defiler(self):
        """Supprimer l’élément de la tete une file"""
        try:
            return self.file.pop(0)
        except Exception, e:
            print "Error:", e

    def AfficherFile(self):
        """Afficher tous les éléments de la file"""
        for i in self.file:
            print self.file[i],
        print

Enjoy !

Advertisements

Tagged: , , ,

Leave a Reply :

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: