이 글은 주로 스택과 큐를 구현하는 python메소드를 소개하며, 스택과 큐의 정의 방법과 일반적인 연산을 포함합니다. 필요한 친구들이 참고할 수 있습니다. 이 글의 예제는 설명합니다. Python 스택과 큐를 구현하는 방법입니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
1. Python에서 스택을 구현하려면 먼저 Stack 클래스를 stack.py 파일에 작성하고
다른프로그램 파일에서 스택 가져오기 스택을 사용한 다음 사용할 수 있습니다. 스택. 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;
스택을 사용하여 다른 프로그램 파일인 stacktest.py를 작성합니다. 내용은 다음과 같습니다.
#!/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();
위 내용은 Python이 스택과 큐를 구현하는 방법에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!