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