本文摘自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 | 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如何输出九九乘法表
Python语言的特点是什么?
Python实现获取前100组勾股数的方法
Python怎么打印字符
Python怎么下载视频
如何往文件中追加文本
web自动化测试(三)selenium+beatuifulsoup
Python函数之chr(i)
零基础学Python可以干什么
详解Python实现logger打印功能
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python如何实现堆栈与队列的实例详解