Home > Article > Backend Development > Detailed examples of how python implements stacks and queues
This article mainly introduces the methods of python to implement stacks and queues, including the definition methods and common operations of stacks and queues. It has certain reference value. Friends in need You can refer to the following
The examples in this article describe how to implement stacks and queues in Python. Share it with everyone for your reference. The specific analysis is as follows:
1. To implement the stack in python, you can first write the Stack class into the file stack.py, and use from stack import Stack in other program files, and then you can use the stack .
stack.py program:
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;
Write another program file, stacktest.py, using the stack, the content is as follows:
#!/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 implements queue :
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();
The above is the detailed content of Detailed examples of how python implements stacks and queues. For more information, please follow other related articles on the PHP Chinese website!