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!