當前位置:成語大全網 - 書法字典 - Python實現堆棧和隊列的方法

Python實現堆棧和隊列的方法

Python實現堆棧和隊列的方法

本文給出了壹個python實現堆棧和隊列的例子。分享給大家,供大家參考。具體分析如下:

1,python要實現棧,可以先把Stack類寫到stack.py文件中,在其他程序文件中使用from stack導入棧,然後就可以使用棧了。

Stack.py程序:

代碼如下:class Stack():

def __init__(self,size):

self.size = size

self . stack =[];

self . top =-1;

Def push(self,ele): #入棧前檢查棧是否滿。

if self.isfull():

引發異常(“超出範圍”);

否則:

self . stack . append(ele);

self . top = self . top+1;

Def pop(self): #彈出前檢查堆棧是否為空。

if self.isempty():

引發異常(“堆棧為空”);

否則:

self . top = self . top-1;

返回self . stack . pop();

def isfull(自身):

return self . top+1 = = self . size;

def isempty(self):

return self . top = =-1;

使用堆棧編寫另壹個程序文件stacktest.py,內容如下:

代碼如下:#!/usr/bin/python

從堆棧導入堆棧

s =堆棧(20);

對於範圍(3)中的I:

s.push(壹);

流行歌曲()

print s . isempty();

2.python實現隊列:

復制代碼如下:class Queue():

def __init__(self,size):

self.size = size

self . front =-1;

self . rear =-1;

self . queue =[];

定義入隊(self,ele): #入隊操作

if self.isfull():

引發異常(“隊列已滿”);

否則:

self . queue . append(ele);

self . rear = self . rear+1;

定義出列(自身):#出列操作

if self.isempty():

引發異常(“隊列為空”);

否則:

self . front = self . front+1;

return self . queue[self . front];

def isfull(自身):

return self . rear-self . front+1 = = self . size;

def isempty(self):

return self . front = = self . rear;

q =隊列(10);

對於範圍(3)中的I:

q .排隊(I);

print q . dequeue();

print q . isempty();

希望這篇文章對妳的Python編程有所幫助。