码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【408数据结构与算法】—栈的抽象数据类型定义(十)


    【408数据结构与算法】—栈的抽象数据类型定义(十)

    • 🎬 博客主页:王同学要努力

    • 🎥 本文由 王同学要努力 原创,首发于 CSDN🙉

    • 🌲 JavaScript专栏推荐:JavaScript专栏,超详细!

    • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

    • 📆 越努力 越幸运,愿我们都能在看不见的日子里闪闪发光!✨

    一、栈的抽象数据类型的定义

    在这里插入图片描述
    在这里插入图片描述

    二、栈的表示和实现

    由于栈本身就是线性表,于是栈也有顺序存储和链式存储两种实现方式

    • 栈的顺序存储—顺序栈
    • 栈的链式存储—链式栈

    存储方式:同一般线性表的顺序存储结构完全相同,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,栈底一般在低地址端。

    • 附设top指针:指示栈顶元素在顺序栈中的位置
    • 另设base指针、指示栈底元素在顺序栈中的位置
    • 另外,用stacksize表示栈可使用最大的容量

    空栈:base==top是栈空标志
    栈满:top-base==stacksize
    在这里插入图片描述
    栈满时的处理方法:

    • 报错,返回操作系统
    • 分配更大的空间,作为栈的存储空间,将原栈的内容移入新栈

    在这里插入图片描述

    使用数组作为顺序存储方式的特点:简单、方便、但易产生溢出(数组大小固定)

    • 上溢(overflow):栈已经满,又要压入元素

    • 下溢(underflow):栈已空,还要弹出元素

    🧨上溢是一种错误,使问题的处理无法解决,而下溢一般认为是一种结束条件,即问题处理结束

    三、顺序栈的表示和实现

    在这里插入图片描述
    在这里插入图片描述

    四、顺序栈的初始化

    在这里插入图片描述
    在这里插入图片描述

    五、判断顺序栈是否为空

    在这里插入图片描述
    在这里插入图片描述

    六、求顺序栈的长度

    在这里插入图片描述

    七、清空顺序栈

    在这里插入图片描述

    八、销毁顺序栈

    在这里插入图片描述

    九、顺序栈的入栈

    • 判断是否栈满,若满则出错(上溢)
    • 元素 e压入栈顶
    • 栈顶指针加1
      在这里插入图片描述
      代码实现:
      在这里插入图片描述

    十、顺序栈的出栈

    • 判断是否栈空,若空则出错(下溢)
    • 获取栈顶元素e
    • 栈顶指针减1
      在这里插入图片描述
      代码实现:

    在这里插入图片描述

  • 相关阅读:
    Netty学习——实战篇5 Netty 心跳监测/WebSocket长连接编程 备份
    2. uni-app的一些介绍
    细品以太坊的“四棵树”——Merkle Patricia Trie
    elastic-job源码(1)- job自动装配
    threejs 动态调整相机位置,使相机正好能看到对象
    在 Ubuntu 上安装 jstest-gtk 手柄测试
    vivo手机如何隐藏应用 vivo手机隐藏应用方法
    使用IDEA连接TDengine服务器
    为什么list.sort()比Stream().sorted()更快?
    新手小白前端学习艰辛之路
  • 原文地址:https://blog.csdn.net/m0_46374969/article/details/127775193
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号