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

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

Python可以實(shí)現(xiàn)棧的結(jié)構(gòu)嗎

瀏覽:65日期:2022-07-24 10:31:41

棧(stack)又名堆棧,它是一種運(yùn)算受限的線(xiàn)性表。在Python中可使用列表進(jìn)行實(shí)現(xiàn)。

什么是棧?

棧(stack)又名堆棧,它是一種運(yùn)算受限的線(xiàn)性表。其限制是僅允許在表的一端進(jìn)行插入和刪除運(yùn)算。這一端被稱(chēng)為棧頂,相對(duì)地,把另一端稱(chēng)為棧底。向一個(gè)棧插入新元素又稱(chēng)作進(jìn)棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個(gè)棧刪除元素又稱(chēng)作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。

如何實(shí)現(xiàn)?

在Python中使用列表來(lái)實(shí)現(xiàn):

#!/usr/bin/env python #定義一個(gè)列表來(lái)模擬棧 stack = [] #進(jìn)棧,調(diào)用列表的append()函數(shù)加到列表的末尾,strip()沒(méi)有參數(shù)是去掉首尾的空格 def pushit(): stack.append(raw_input(’Enter new string: ’).strip()) #出棧,用到了pop()函數(shù) def popit(): if len(stack) == 0: print ’Cannot pop from an empty stack!’ else: print ’Removed [’, stack.pop(), ’]’#編歷棧 def viewstack(): print stack #CMDs是字典的使用 CMDs = {’u’: pushit, ’o’: popit, ’v’: viewstack} #pr為提示字符 def showmenu(): pr = ''' p(U)sh p(O)p (V)iew (Q)uit Enter choice: ''' while True: while True: try: #先用strip()去掉空格,再把第一個(gè)字符轉(zhuǎn)換成小寫(xiě)的 choice = raw_input(pr).strip()[0].lower() except (EOFError, KeyboardInterrupt, IndexError): choice = ’q’ print ’nYou picked: [%s]’ % choice if choice not in ’uovq’: print ’Invalid option, try again’ else: break#CMDs[]根據(jù)輸入的choice從字典中對(duì)應(yīng)相應(yīng)的value,比如說(shuō)輸入u,從字典中得到value為pushit,執(zhí)行pushit()進(jìn)棧操作 if choice == ’q’: break CMDs[choice]() #判斷是否是從本文件進(jìn)入,而不是被調(diào)用 if __name__ == ’__main__’: showmenu()

實(shí)例內(nèi)容擴(kuò)展:

# -*- coding:utf-8 -*-# __author__ :kusy# __content__:文件說(shuō)明# __date__:2018/9/30 17:28class MyStack(object): def __init__(self): self.stack_list = [] self.count = 0 # 創(chuàng)建一個(gè)棧 def create_stack(self): return self.stack_list # 棧中添加值 def push(self, value): self.stack_list.insert(0,value) self.count += 1 #返回棧頂元素值 def peek(self): if self.count: return self.stack_list[0] # 刪除棧頂元素 def pop(self): self.stack_list.pop(0) self.count -= 1 # 返回棧是否為空 def is_empty(self): return self.count == 0 #打印棧內(nèi)容 def print_all(self): for sl in self.stack_list: print(sl)if __name__ == ’__main__’: ms = MyStack() ms.create_stack() ms.push(1) ms.push(2) ms.push(3) print(’棧元素:’) ms.print_all() print(’棧頂元素:’,ms.peek()) ms.pop() print(’棧頂元素刪除后:’) ms.print_all() print(’棧是否為空:’,’是’ if ms.is_empty() else ’否’) print(’---繼續(xù)刪除元素’) ms.pop() print(’---繼續(xù)刪除元素’) ms.pop() print(’棧是否為空:’,’是’ if ms.is_empty() else ’否’)

運(yùn)行結(jié)果如下

C:UserssuneeeAppDataLocalProgramsPythonPython36python.exe E:/wangjz/PyWorkSpace/LearnPython/PY0929/stack.py棧元素:321棧頂元素: 3棧頂元素刪除后:21棧是否為空: 否---繼續(xù)刪除元素---繼續(xù)刪除元素棧是否為空: 是Process finished with exit code 0

到此這篇關(guān)于Python可以實(shí)現(xiàn)棧的結(jié)構(gòu)嗎的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)棧的結(jié)構(gòu)的條件內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 14米地磅厂家价价格,150吨地磅厂家价格-百科 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | 元拓建材集团官方网站 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | 锂电叉车,电动叉车_厂家-山东博峻智能科技有限公司 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 高速混合机_锂电混合机_VC高效混合机-无锡鑫海干燥粉体设备有限公司 | 方源木业官网-四川木门-全国木门专业品牌 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 智能家居全屋智能系统多少钱一套-小米全套价格、装修方案 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 精密模具加工制造 - 富东懿| 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | MVE振动电机_MVE震动电机_MVE卧式振打电机-河南新乡德诚生产厂家 | 大行程影像测量仪-探针型影像测量仪-增强型影像测量仪|首丰百科 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 找果网 | 苹果手机找回方法,苹果iPhone手机丢了找回,认准找果网! | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 汽液过滤网厂家_安平县银锐丝网有限公司| 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 |