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

外贸soho先做网站大连网站建设费用

外贸soho先做网站,大连网站建设费用,wordpress 自适应,网站建设成都公司文章目录栈的概念栈的特点栈的操作Python 实现栈栈的简单应用#xff1a;括号匹配问题栈的简单应用#xff1a;倒序输出一组元素栈的概念 栈#xff08;stack#xff09;又名堆栈#xff0c;栈是一种线性数据结构#xff0c;用先进后出或者是后进先出的方式存储数据括号匹配问题栈的简单应用倒序输出一组元素栈的概念 栈stack又名堆栈栈是一种线性数据结构用先进后出或者是后进先出的方式存储数据栈中数据的插入删除操作都是在栈的顶端进行这一端被称为栈顶相对地把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈它是把新元素放到栈顶元素的上面使之成为新的栈顶元素从一个栈删除元素又称作出栈或退栈它是把栈顶元素删除掉使其相邻的元素成为新的栈顶元素。 栈的特点 元素后进先出Last in First OutLIFO 栈的操作 push(item)进栈向栈顶添加元素pop()出栈删除栈顶元素top()查看栈顶元素empty()判断栈是否为空 Python 实现栈 栈并不是 Python 的内建类型在必要的时候可以使用列表来模拟基于数组的栈。如果将列表的末尾看作是栈的顶列表方法 append() 就是将元素压入到栈中进栈而列表方法 pop() 会删除并返回栈顶的元素出栈列表索引的方式 arr[-1] 可以查看栈顶元素。具体代码实现如下 class Stack:def __init__(self):self.stack []def push(self, item):self.stack.append(item)def pop(self):if self.empty():return Noneelse:return self.stack.pop()def top(self):if self.empty():return Noneelse:return self.stack[-1]def empty(self):return len(self.stack) 0栈的简单应用括号匹配问题 问题描述 给定一个字符串字符串中只包含小括号 ()、中括号 []、大括号 {}求该字符串中的括号是否匹配。匹配规则成对出现或者左右对称出现例如 ()[]{}匹配{[()]}匹配({}]不匹配()]不匹配({)}不匹配 通过栈来解决 有字符串 ()[{}]依次取每个括号只要是左括号就进栈只要是右括号就判断栈顶是否为对应的左括号具体步骤如下 ① 遇到左小括号 (执行进栈操作② 遇到右小括号 )判断此时栈顶是否为左小括号 (是则让左小括号 ( 出栈此时栈为空;③ 遇到左中括号 [执行进栈操作④ 遇到左大括号 {执行进栈操作⑤ 遇到右大括号 }判断此时栈顶是否为左大括号 {是则让左大括号 { 出栈此时栈为空⑥ 遇到右中括号 ]判断此时栈顶是否为左中括号 [是则让左中括号 [ 出栈此时栈为空⑦ 判断最终的栈是否为空是则表示匹配不是则表示不匹配。其中第 ② ⑤ ⑥ 步中若判断为不是则直接表示不匹配。 Python 代码实现 class Stack:def __init__(self):self.stack []def push(self, item):self.stack.append(item)def pop(self):if self.empty():return Noneelse:return self.stack.pop()def top(self):if self.empty():return Noneelse:return self.stack[-1]def empty(self):return len(self.stack) 0def brackets_match(s):match_dict {}: {, ]: [, ): (}stack Stack()for ch in s:if ch in [(, [, {]: # 如果为左括号则执行进栈操作stack.push(ch)else: # 如果为右括号if stack.empty(): # 如果栈为空则不匹配即多了一个右括号没有左括号匹配return Falseelif stack.top() match_dict[ch]: # 如果栈顶的元素为对应的左括号则让栈顶出栈stack.pop()else: # 如果栈顶元素不是对应的左括号则不匹配return Falseif stack.empty(): # 最后的栈如果为空则匹配否则不匹配return Trueelse:return Falseprint(brackets_match([{()}(){()}[]({}){}])) print(brackets_match(()[{}])) print(brackets_match(({)})) print(brackets_match([]}))输出结果 True True False False栈的简单应用倒序输出一组元素 把元素存入栈再顺序取出 class Stack:def __init__(self):self.stack []def push(self, item):self.stack.append(item)def pop(self):if self.empty():return Noneelse:return self.stack.pop()def top(self):if self.empty():return Noneelse:return self.stack[-1]def empty(self):return len(self.stack) 0def reverse_list(s):stack Stack()for ch in s:stack.push(ch)new_list []while not stack.empty():new_list.append(stack.pop())return new_listprint(reverse_list([A, B, C, D, E]))输出结果 [E, D, C, B, A]
http://www.pierceye.com/news/896573/

相关文章:

  • 柳州网站建设优化推广wordpress 不显示菜单
  • 网站死循环网站备案和域名备案区别
  • 做网站要学会什么语言装修公司网站模板下载
  • 门户网站建设自查报告网站关键词快速排名技术
  • 如何建网站费用多少全国工商企业查询平台
  • 兰州新区建站什么是网络营销取得成功的基础
  • 南昌 网站 公司wordpress迁移后媒体库丢失
  • 做移动网站点击软件cnzz网站建设
  • 高质量网站外链建设大揭秘做网站之前需要准备什么条件
  • 睢宁做网站百度一下做网站
  • 做国外购物网站国家高职示范校建设网站
  • 网站建设福州公司山西省大同市网站建设公司
  • 浙江网站建设推荐wordpress 增加小工具
  • 个人网站是商业的吗北京网站建设设计
  • 手机网站收费怎么停止网站
  • 网站建设 金疙瘩计划杭州小程序制作公司排行榜
  • 德泰诺网站建设软件著作权登记证书
  • 商标设计网页seo外包公司兴田德润官方地址
  • 网站开发人员岗位成功营销案例分享
  • 赤峰做网站的公司湘潭哪里做网站
  • 免费自助建站郑州官网seo费用
  • 称心的常州网站建设wordpress怎么用两个主题
  • 建设银行北京分行网站做视频网站用什么服务器配置
  • 网站备案流程实名认证医疗网站建设资讯
  • 一个做问卷调查的网站好wordpress七比2
  • 西双版纳网站制作公司临沂企业网站建站模板
  • 培训做网站国内适合个人做外贸的网站有哪些
  • 我想卖自己做的鞋子 上哪个网站好中信银行网站怎么做的怎么烂
  • 在线网站建设工程标准godaddy 上传网站
  • 营销型网站方案ppt模板手机建站平台微点