Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Beispiele, wie Python Stacks und Warteschlangen implementiert

Detaillierte Beispiele, wie Python Stacks und Warteschlangen implementiert

伊谢尔伦
伊谢尔伦Original
2017-06-28 13:50:281703Durchsuche

Dieser Artikel stellt hauptsächlich die Methode von Python zur Implementierung von Stack und Queue vor. Er enthält die Definitionsmethoden und allgemeinen Operationen von Stack und Queue brauchen Sie können auf Folgendes verweisen

Die Beispiele in diesem Artikel beschreiben, wie Stapel und Warteschlangen in Python implementiert werden. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

1. Um den Stack in Python zu implementieren, können Sie zunächst die Stack-Klasse in die Datei stack.py schreiben und den Stack in anderen importieren Programmdateien, und dann können Sie den Stack verwenden.

Stack.py-Programm:

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;

Schreiben Sie eine weitere Programmdatei, stacktest.py, unter Verwendung des Stacks. Der Inhalt lautet wie folgt:

#!/usr/bin/python   
from stack import Stack  
s=Stack(20);  
for i in range(3):  
    s.push(i);  
s.pop()  
print
 s.isempty();

2, Python-Implementierungswarteschlange:

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


Das obige ist der detaillierte Inhalt vonDetaillierte Beispiele, wie Python Stacks und Warteschlangen implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn