电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack

瀏覽:102日期:2022-06-20 11:56:22
前言

棧(Stack)是一種運(yùn)算受限的線性表。

按照先進(jìn)后出(FILO,F(xiàn)irst In Last Out)的原則存儲數(shù)據(jù),先進(jìn)入的數(shù)據(jù)被壓入棧底,最后的數(shù)據(jù)在棧頂。棧只能在一端進(jìn)行插入和刪除操作。

文章內(nèi)容包含:

(1)棧的基本格式(2)壓棧 push_stack(3)出棧 pop_stack(4)取棧頂 peek_stack

一、棧的基本格式

class Stack(): def __init__ (self,size):self.size = size #棧空間大小self.top = -1 #棧中進(jìn)入一個數(shù)據(jù) top 加 1self.stack = [] def display_stack(self):#棧stack的打印print(self.stack)if __name__ == '__main__': stack = Stack(5) #設(shè)定棧空間 stack.display_stack() #打印棧數(shù)據(jù)二、進(jìn)棧與壓棧 push_stack

class Stack(): def __init__ (self,size):self.size = sizeself.top = -1self.stack = [] #進(jìn)棧數(shù)據(jù)列表 def display_stack(self):print(self.stack) def push_stack(self,data):if len(self.stack ) >= self.size: #當(dāng)數(shù)據(jù)數(shù)量大于設(shè)置的空間,則棧溢出 print('stack over flow!') returnself.stack.append(data) #沒有棧溢出就將數(shù)據(jù)追加到列表中self.top += 1 #棧中每增加一個數(shù)據(jù)就加 1if __name__ == '__main__': stack = Stack(5) stack.push_stack(0) stack.push_stack(1) stack.push_stack(2) stack.push_stack(3) stack.push_stack(4) stack.push_stack(5) #stack空間是 5,這里進(jìn)棧數(shù)據(jù)時 6 個,即提示棧溢出stack over flow! stack.display_stack()

執(zhí)行結(jié)果:

詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack

三、出棧 pop_stack

class Stack(): def __init__ (self,size):self.size = sizeself.top = -1self.stack = [] #進(jìn)棧數(shù)據(jù)列表 def display_stack(self):print(self.stack) def push_stack(self,data):if len(self.stack ) >= self.size: print('stack over flow!') returnself.stack.append(data)self.top += 1 def pop_stack(self):if self.top <= -1: #當(dāng)top小于等于初始值 -1 時說明stack數(shù)據(jù)列表為空 print('stack is empty!') returnret = self.stack.pop() #stack數(shù)據(jù)列表不為空就取出最后進(jìn)的值,列表數(shù)據(jù)數(shù)量就少一個self.top -= 1 return retif __name__ == '__main__': stack = Stack(5) stack.push_stack(0) stack.push_stack(1) stack.push_stack(2) stack.push_stack(3) stack.push_stack(4) stack.display_stack() #進(jìn)棧數(shù)據(jù)有 5 個,出棧函數(shù)調(diào)用了 6 次,就出現(xiàn)了提示stack is empty! ret = stack.pop_stack() print(ret) stack.display_stack() ret = stack.pop_stack() print(ret) stack.display_stack() ret = stack.pop_stack() print(ret) stack.display_stack() ret = stack.pop_stack() print(ret) stack.display_stack() ret = stack.pop_stack() print(ret) stack.display_stack() ret = stack.pop_stack() print(ret) stack.display_stack()

執(zhí)行結(jié)果:

詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack

四、取棧頂 peek_stack

class Stack(): def __init__ (self,size):self.size = sizeself.top = -1self.stack = [] def display_stack(self):print(self.stack) def push_stack(self,data):if len(self.stack ) >= self.size: print('stack over flow!') returnself.stack.append(data) self.top += 1 def peek_stack(self):if self.top == -1: #當(dāng)棧內(nèi)沒有數(shù)據(jù)時 提示 stack is empty! print('stack is empty!') returnpeek = self.stack[self.top] #棧不為空時,將棧頂?shù)臄?shù)據(jù)提取出來return peekif __name__ == '__main__': stack = Stack(5) stack.push_stack(0) stack.push_stack(1) stack.push_stack(2) stack.push_stack(3) stack.push_stack(4) stack.push_stack(5) stack.display_stack() peek = stack.peek_stack() print(peek)

執(zhí)行結(jié)果:

詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack

到此這篇關(guān)于詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack的文章就介紹到這了,更多相關(guān)python 棧stack內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 耐压仪-高压耐压仪|徐吉电气| 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 广州冷却塔维修厂家_冷却塔修理_凉水塔风机电机填料抢修-广东康明节能空调有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | PCB设计,PCB抄板,电路板打样,PCBA加工-深圳市宏力捷电子有限公司 | 谷歌关键词优化-外贸网站优化-Google SEO小语种推广-思亿欧外贸快车 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 踏板力计,制动仪,非接触多功能速度仪,逆反射系数测试仪-创宇 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 头条搜索极速版下载安装免费新版,头条搜索极速版邀请码怎么填写? - 欧远全 | 档案密集架,移动密集架,手摇式密集架,吉林档案密集架-厂家直销★价格公道★质量保证 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 驾驶人在线_专业学车门户网站 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 中山市派格家具有限公司【官网】 | 臭氧灭菌箱-油桶加热箱-原料桶加热融化烘箱-南京腾阳干燥设备厂 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 垃圾清运公司_环卫保洁公司_市政道路保洁公司-华富环境 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | 模型公司_模型制作_沙盘模型报价-中国模型网 | 高中学习网-高考生信息学习必备平台 | 汕头市盛大文化传播有限公司,www.11400.cc | 钢结构-钢结构厂房-钢结构工程[江苏海逵钢构厂] | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 翅片管换热器「型号全」_厂家-淄博鑫科环保 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | 365文案网_全网创意文案句子素材站| 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 磁力轮,磁力联轴器,磁齿轮,钕铁硼磁铁-北京磁运达厂家 |