Maison > développement back-end > Tutoriel Python > Exemples détaillés de la façon dont Python implémente les piles et les files d'attente

Exemples détaillés de la façon dont Python implémente les piles et les files d'attente

伊谢尔伦
Libérer: 2017-06-28 13:50:28
original
1721 Les gens l'ont consulté

Cet article présente principalement la méthode de python pour implémenter la pile et la queue, y compris les méthodes de définition et les opérations courantes de la pile et de la file d'attente, qui ont une certaine valeur de référence Amis dans le besoin. Vous pouvez vous référer à ce qui suit

Les exemples de cet article décrivent comment implémenter des piles et des files d'attente en python. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

1. Pour implémenter la pile en python, vous pouvez d'abord écrire la classe Stack dans le fichier stack.py, et utiliser from stack import Stack dans autre fichiers programme, puis vous pouvez utiliser la pile .

Programme stack.py :

class Stack():  
    def init(self,size):  
        self.size=size;  
        self.stack=[];  
        self.top=-1;  
    def push(self,ele):  #入栈之前检查栈是否已满  
        if self.isfull():  
            raise exception("out of range");  
        else:  
            self.stack.append(ele);  
            self.top=self.top+1;  
    def pop(self):             # 出栈之前检查栈是否为空  
        if self.isempty():  
            raise exception("stack is empty");  
        else:  
            self.top=self.top-1;  
            return self.stack.pop();  
      
    def isfull(self):  
        return self.top+1==self.size;  
    def isempty(self):  
        return self.top==-1;
Copier après la connexion

Écrivez un autre fichier programme, stacktest.py, en utilisant la pile. Le contenu est le suivant :

#!/usr/bin/python   
from stack import Stack  
s=Stack(20);  
for i in range(3):  
    s.push(i);  
s.pop()  
print
 s.isempty();
Copier après la connexion
<🎜. >2 , file d'attente d'implémentation python :

class Queue():  
    def init(self,size):  
        self.size=size;  
        self.front=-1;  
        self.rear=-1;  
        self.queue=[];  
    def enqueue(self,ele):  #入队操作  
        if self.isfull():  
            raise exception("queue is full");  
        else:  
            self.queue.append(ele);  
            self.rear=self.rear+1;  
    def dequeue(self):      #出队操作  
        if self.isempty():  
            raise exception("queue is empty");  
        else:  
            self.front=self.front+1;  
            return self.queue[self.front];  
    def isfull(self):  
        return self.rear-self.front+1==self.size;  
    def isempty(self):  
        return self.front==self.rear;  
      
q=Queue(10);  
for i in range(3):  
    q.enqueue(i);  
print q.dequeue();  
print q.isempty();
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal