当前位置: 首页 > news >正文

国务院关于政府网站建设/360优化大师旧版

国务院关于政府网站建设,360优化大师旧版,做网站遇到的问题及解决方法,快速建站全流程详细指导手册python-栈的实现 栈(Stack)的定义:只允许在一端进行插入或者删除操作的线性表。 栈顶(Top):线性表允许插入和删除的那一端。 栈底(Bottom):固定的,不允许进行插入和删除的那一端。 空栈:不含任何元素的空表。 这里借用一个百度百科的图片展示入栈和出栈…

python-栈的实现
栈(Stack)的定义:只允许在一端进行插入或者删除操作的线性表。
栈顶(Top):线性表允许插入和删除的那一端。
栈底(Bottom):固定的,不允许进行插入和删除的那一端。
空栈:不含任何元素的空表。

这里借用一个百度百科的图片展示入栈和出栈的过程:
在这里插入图片描述栈是后入先出(LIFO,last-in-first-out)的数据结构,假设栈中原始数据为(2,7,1)
该图展示了8和2依次入栈(Push())
以及(2,8,1)依次出栈(Pop())的过程。
栈的基本操作:
IniStack():初始化一个空栈
isempty():判空
isfull():判满
Push():若栈未满,则入栈
Pop():若栈非空,则出栈
GetTop():获取栈顶元素

顺序栈的实现:

# 后进先出
class myStack():def __init__(self,size):self.size=size  #栈的大小self.stack=[]	#定义一个空栈self.top=-1		#指示栈的存储情况,初始为-1,表示空栈,每入栈一个元素,top增加1,每出栈一个元素,top减少1def push(self, x): # 入栈之前检查栈是否已满if self.isfull():print("stack is full")return Falseelse:self.stack.append(x)self.top = self.top + 1return Truedef pop(self):# 出栈之前检查栈是否为空if self.isempty():print("stack is empty")return Falseelse:self.top = self.top - 1self.stack.pop()return Truedef gettop(self):if self.top!=-1:return self.stack[self.top]def isfull(self):return self.top+1 == self.sizedef isempty(self):return self.top == '-1'def showStack(self):print(self.stack)s=myStack(10)
for i in range(10):s.push(i)
s.showStack()
print(s.gettop())s.push("100")
for i in range(6):s.pop()
s.showStack()

输出为:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
9
stack is full
[0, 1, 2, 3]

需要注意的地方:
1)入栈的时候:元素先入栈,top再增1;出栈时:top先减1,元素后出栈
2)top初值为-1表示空栈,top+1==size表示满栈
在这里插入图片描述共享栈:

在这里插入图片描述利用栈底位置相对不变的特性,可以让两个顺序栈共享一个一维空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸。
两个栈的栈顶指针都指向栈顶元素,top0=-1时0号栈为空,top1=maxSize时1号栈为空,仅当两个栈顶相邻时栈满:top1-top0==1
入栈时,top0先加1再赋值;top1先减1再赋值
定义共享栈:

class myStack():def __init__(self,maxSize):self.stack0=[]	self.stack1=[]self.top0=-1self.top1=maxSize

其他方法对照顺序栈即可。
链栈:
采用链式存储结构的栈,不存在栈满溢出的情况,便于节点的插入和删除,通常用单链表实现,并规定所有的操作都是在表头进行的。
下图的链栈没有头结点,Lhead指向栈顶元素。
在这里插入图片描述

http://www.lbrq.cn/news/1592857.html

相关文章:

  • 网站的后台怎么做/长春seo整站优化
  • 搜易网服务内容/seo引擎优化外包
  • 微信运营网站建设/搜索引擎营销的方法有哪些
  • 网站开发百灵鸟优化/简单的网站建设
  • 大型网站建设翻译英文/小说关键词生成器
  • 武汉外贸型网站建设/长沙新媒体营销
  • 成都php网站建设/镇江推广公司
  • 零基础网站建设视频教程/长沙专业seo优化公司
  • 如何给网站刷流量/软文范例大全200字
  • 网站维护是什么意思/奶茶网络营销策划方案
  • 学校网站模板 html/深圳seo公司
  • 个人网站建设的论文/开淘宝店铺怎么运营推广
  • 网站开发费用报价单/seo课程培训视频
  • 建网站需要什么技术/网上营销策略有哪些
  • 网站怎么做会员系统/社群营销成功案例
  • 山东建设管理局网站/网站统计工具有哪些
  • 长沙移动网站建设哪家好/网站推广排名优化
  • 用源码网站好优化吗/微信怎么推广找客源
  • 创建好网站如何把浏览器/建站推广
  • 昆山做网站需要多少钱/百度账号快速注册入口
  • 衡水网站制作/网络优化seo
  • 网站开发是什么专业/长沙百度关键词排名
  • 重庆工程建设招标网官方网站/长沙营销型网站建设
  • 企业建立网站的目的/企业培训课程名称
  • wordpress 支付宝插件下载/博客seo教程
  • html5高端酒水饮料企业网站模版/线上拓客渠道有哪些
  • 重庆的汽车网站建设/企业官网搭建
  • 网站开发后期要解决的问题/pc网站建设和推广
  • 传统网站开发/长沙百度网站排名优化
  • 区政府网站建设规范报告/广州网页搜索排名提升
  • UE编辑器相机窗口运行时相机fov 大小不一致
  • 阿里云百炼平台创建智能体-上传文档
  • 飞算JavaAI需求转SpringBoot项目沉浸式体验
  • 13015计算机系统原理-速记宝典
  • Azure DevOps 中的代理
  • [Oracle] TO_DATE()函数