• 欢迎访问废江网站,承蒙遇见 QQ群
  • 本站将致力于推送优质的java知识以及算法,开源代码!

实现栈(顺序存储)

算法笔记 站点默认 5年前 (2019-09-24) 1164次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

自己写的顺序栈

教材上的顺序栈

回文串的应用

例,设计一个算法利用顺序栈判断一个字符串是否为对称串。

  • 我的思路
  • 我的代码
  • 教材标准答案
  • 比如这样一串字符abcba,是回文串,首先保存到一个数组中然后将其全部进栈,接着一个一个出栈来和数组中的字符判断是否一样。要用的函数有,进栈函数,取栈顶元素值函数,出栈函数,最后别忘了,还有一个判断栈为空的函数,这里我直接用教材的标准栈代码来写==

    标准答案

    教材上的练习题

    练习题(洛谷)

    题目背景
    栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。
    栈有两种最重要的操作,即
    poppop
    pop(从栈顶弹出一个元素)和
    pushpush
    push(将一个元素进栈)。
    栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。
    题目描述

    宁宁考虑的是这样一个问题:一个操作数序列,
    1,2,…,n1,2,…,n
    1,2,…,n(图示为1到3的情况),栈
    AA
    A的深度大于
    nn
    n。
    现在可以进行两种操作,
    将一个数,从操作数序列的头端移到栈的头端(对应数据结构栈的
    pushpush
    push操作)
    将一个数,从栈的头端移到输出序列的尾端(对应数据结构栈的
    poppop
    pop操作)
    使用这两种操作,由一个操作数序列就可以得到一系列的输出序列,下图所示为由
    1231 2 3
    123生成序列
    2312 3 1
    231的过程。

    (原始状态如上图所示)
    你的程序将对给定的
    nn
    n,计算并输出由操作数序列
    1,2,…,n1,2,…,n
    1,2,…,n经过操作可能得到的输出序列的总数。
    输入格式
    输入文件只含一个整数
    n(1≤n≤18)n(1≤n≤18)
    n(1≤n≤18)
    输出格式
    输出文件只有
    11
    1行,即可能输出序列的总数目
    输入输出样例
    输入 #1
    复制
    3
    输出 #1
    复制
    5

    思考了好几分钟,我又回来了,这啥呀,题意大概懂了,给我们n个数,进栈,然后求有多少中方式出栈==
    然后,又想了十几分钟,感觉这个和栈有毛关,,,出师未捷啊,这题先留着,以后做吧,下一题

    题目描述
    小明的朋友过生日,小明准备了一件礼物,不过小明想恶搞一下他的朋友,所以他准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。
    用()表示一个盒子,B表示礼物,小明想让你帮他算出恶搞指数,即最少需要拆多少个盒子才能拿到礼物。
    输入
    输入包含多组测试数据。每组测试数据是一个长度不大于1000,只包含(,)和 B 三种字符的字符串,代表小明设计的礼物透视图。
    题目保证每个透视图都是合法的。
    输出
    对于每组测试,请在一行里面输出恶搞指数。
    样例输入
    ((((B)()))())
    (B)
    样例输出
    4
    1

    思路:将其保存在数组中,从0开始一个一个读取,当读到B时,再读取B后面的括号,最后取括号少的一组,个人感觉和栈没啥关系

    我得到了这么有个结果

    /**************************************************************
    Problem: 1021
    User: 2701180127
    Language: C++
    Result: 答案错误
    ****************************************************************/

    好吧,先放着,。。。。


    废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:实现栈(顺序存储)
    喜欢 (0)
    []
    分享 (0)
    发表我的评论
    取消评论

    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址