国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現堆棧與隊列的方法

2019-11-25 18:02:02
字體:
來源:轉載
供稿:網友

本文實例講述了python實現堆棧與隊列的方法。分享給大家供大家參考。具體分析如下:

1、python實現堆棧,可先將Stack類寫入文件stack.py,在其它程序文件中使用from stack import Stack,然后就可以使用堆棧了。

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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普洱| 阿瓦提县| 日照市| 蓬溪县| 镇沅| 自治县| 黄平县| 阿拉善右旗| 石狮市| 浦县| 宜昌市| 武冈市| 嵊泗县| 呼图壁县| 武定县| 麻栗坡县| 蒲江县| 双牌县| 曲阜市| 高唐县| 新民市| 六盘水市| 邵阳县| 民乐县| 太湖县| 天祝| 岚皋县| 霍州市| 东莞市| 玉龙| 尚义县| 安西县| 油尖旺区| 积石山| 大冶市| 白银市| 丰原市| 涞源县| 正镶白旗| 长岛县| 永兴县|