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

腳本之家,腳本語言編程技術(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ì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲狠狠网站色噜噜 | www.九九| 国产suv精品| 国产日韩欧美精品在线 | h网站国产| 国产黄频在线观看高清免费 | 成年女人毛片免费观看97 | 无耻三级在线观看 | 青草福利在线 | 爱操综合 | 天天综合天天综合 | 国产精品高清视亚洲一区二区 | 日韩一二三 | 9自拍视频在线观看 | 亚洲va欧美va天堂v国产综合 | 日韩一级片在线播放 | 免费一级特黄特色大片∵黄 | 美女鸡| 久久免费国产 | 亚洲免费福利视频 | 欧洲美女啪啪 | 高清国产在线 | 都市后宫小说 | 亚洲精品网址 | 国产精品久久久久一区二区三区 | 亚洲一区二区福利视频 | 北条麻妃黑人 | 亚洲成在人线视频 | 国产裸舞福利资源在线视频 | 国产普通话对白露脸流出 | 日本在线精品视频 | 日本高清在线精品一区二区三区 | 日韩大片在线播放 | 午夜私人福利影院 | 暴露狂婷婷 | 青青青在线观看国产精品 | h版小说 | 欧美操大逼视频 | 免费毛片大全 | 猫咪社区在线播放 | 海绵宝宝第二季全集免费观看 |