一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python實(shí)現(xiàn)堆棧與隊(duì)列的方法

python實(shí)現(xiàn)堆棧與隊(duì)列的方法

2020-05-19 09:14腳本之家 Python

這篇文章主要介紹了python實(shí)現(xiàn)堆棧與隊(duì)列的方法,包含了堆棧與隊(duì)列的定義方法及常用操作,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了python實(shí)現(xiàn)堆棧與隊(duì)列的方法。分享給大家供大家參考。具體分析如下:

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

stack.py的程序:

復(fù)制代碼 代碼如下:
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;


 
再寫一個(gè)程序文件,stacktest.py,使用棧,內(nèi)容如下:
 

復(fù)制代碼 代碼如下:
#!/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 實(shí)現(xiàn)隊(duì)列:

 

 

復(fù)制代碼 代碼如下:
class Queue(): 
    def __init__(self,size): 
        self.size=size; 
        self.front=-1; 
        self.rear=-1; 
        self.queue=[]; 
    def enqueue(self,ele):  #入隊(duì)操作 
        if self.isfull(): 
            raise exception("queue is full"); 
        else: 
            self.queue.append(ele); 
            self.rear=self.rear+1; 
    def dequeue(self):      #出隊(duì)操作 
        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程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 幻女free性俄罗斯第一次摘花 | 国产久热精品 | 91九色在线视频 | 日出水了特别黄的视频 | haodiaocao几万部精彩视频 | 欧美美女一级片 | jazz欧美人免费xxxxxx | 超级碰碰免费视频 | 免费成年视频 | 欧美贵妇videos办公室360 | 91久久国产综合精品 | 91天堂视频 | 草草在线免费视频 | 亚洲国产精品线在线观看 | 精品久久久久久午夜 | 欧美日韩精品一区二区三区视频在线 | 青草草在线 | 3d动漫美女物被遭强视频 | 国产一区二区在线免费观看 | 国产色视频一区二区三区 | 国产偷啪视频一区 | 欧美另类69xxx | 国产亚洲精品一区二区在线播放 | 我半夜摸妺妺的奶C了她软件 | 情缘免费观看完整版 | 色综合欧美色综合七久久 | 国产日韩精品一区二区在线观看播放 | 娇妻被朋友征服中文字幕 | 无套日出白浆在线播放 | 成年人在线视频免费观看 | 欧美一区二区三区精品影视 | 91影视永久福利免费观看 | 我与旗袍老师疯狂床震 | 国产福利一区二区三区四区 | 全黄一级裸片视频免费 | 十六一下岁女子毛片免费 | 国产成人亚洲精品91专区高清 | 全是女性放屁角色的手游 | 欧美另类videos另类粗暴 | 国产在线视频色综合 | 欧美日韩一区二区三在线 |