码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 栈的创建, 出栈, 入栈, 遍历栈(思路分析) [数据结构][Java]


    栈的创建,出栈,入栈,遍历栈(思路分析)

    实现栈的思路分析:

    1. 我们使用一个数组来模拟栈

      • 其实使用链表也是可以实现实现栈结构的,后面我们同样会使用链表来实现栈结构
    2. 定义一个top指针指向栈顶,初始化为 -1

    3. 入栈的操作:

      top++; //让我们的栈顶指针后移
      stack[top] = data; //将要入栈的值赋值给后移之后的栈顶指针
      
      • 1
      • 2
    4. 出栈的操作:

      int value = stack[top]; //将我们要出栈的栈顶指针指向的元素先暂时保存到一个临时变量中
      top--; //将栈顶指针前移(这一步其实就是将我们原本的栈顶位置的元素删除掉了)
      return value; //将出栈的元素返回
      
      • 1
      • 2
      • 3
    注意: 我们的栈中只需要一个指针,需要一个指针指向栈顶元素就可以了,对于栈尾元素不需要专门定义一个指针指向栈尾
    • 因为我们的栈结构中只有栈顶元素和栈尾元素会发生改变,所以我们只需要通过栈顶的变化来完成对栈结构的操作,我们也就不需要使用到栈尾指针
    • 我们之前将队列的时候我们讲过队列中要定义一个队尾和队首指针 —> 因为我们的队列是需要通过修改队尾和队首元素来进行一些指定的操作的
      • 所以就是我们如果有对首部元素或者是对尾部元素要进行操作的时候我们就要定义一个首部和尾部指针,通过这个指针就可以访问到对应的结点 , 而如果我们不允要操作队首或者队尾指针,那么我们也就不用声明对应的指针来指向它们
    判断栈满: top = maxSize - 1
    • maxSize就是栈的长度(也就是实现栈的底层数组的长度),由于我们的栈顶指针是从0开始的所以最后栈满的时候top指针就应该等于maxSize - 1
    判断栈空: top = -1
    • 当top指向-1的时候就是表示栈中没有元素(也就是表示栈为空)

    数组模拟实现栈的思路分析图:

    在这里插入图片描述

  • 相关阅读:
    C++入门学习4-指针与内存分配,引用
    Do Transformers Really Perform Bad for Graph Representation?
    LeetCode 46. 全排列
    【华为OD题库-025】 找出两个整数数组中同时出现的整数-java
    uni-app 瀑布流布局的实现
    2. IMU原理及姿态融合算法详解
    开源日志管理方案之ELK和EFK的区别附带实验
    一文详解:Open SSL
    05-HttpServlet类
    致敬最美逆行者网页设计作品 大学生抗疫感动专题网页设计作业模板 疫情感动人物静态HTML网页模板下载
  • 原文地址:https://blog.csdn.net/m0_57001006/article/details/126836893
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号