本文給出了壹個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編程有所幫助。