>백엔드 개발 >파이썬 튜토리얼 >Python이 스택과 큐를 구현하는 방법에 대한 자세한 예

Python이 스택과 큐를 구현하는 방법에 대한 자세한 예

伊谢尔伦
伊谢尔伦원래의
2017-06-28 13:50:281733검색

이 글은 주로 스택과 큐를 구현하는 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();

2. Python 구현 대기열:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.