python如何实现堆栈与队列的实例详解


本文摘自php中文网,作者伊谢尔伦,侵删。

这篇文章主要介绍了python实现堆栈与队列的方法,包含了堆栈与队列的定义方法及常用操作,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了python实现堆栈与队列的方法。分享给大家供大家参考。具体分析如下:

1、python实现堆栈,可先将Stack类写入文件stack.py,在其它程序文件中使用from stack import Stack,然后就可以使用堆栈了。

stack.py的程序:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

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,使用栈,内容如下:

1

2

3

4

5

6

7

8

#!/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 实现队列:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

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如何实现堆栈与队列的实例详解的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python怎么安装词云wordcloud

Python怎么创建数组

Python怎么启动

Python单例模式是什么

Python self什么意思

win7自带Python

Python idle怎么生成程序文件

Python如何将日期转换为星期

Python如何求1到100的奇数和

Python的序列化和反序列化模块的简单介绍(实例代码)

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...