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

数据结构系列4之顺序栈链式栈

栈出现的意义:

做历史记录;倒着走的逻辑、暂存状态的需求、回溯;函数调用意味着入栈,函数返回意味着出栈

一.顺序栈

1.四种操作行为

顺序栈中,指针指向位置和操作行为上分为4种

满栈,空栈,递增栈,递减栈(满递增,满递减,空递增,空递减)

如上图是满栈,空栈的区别(即先加加后放值,先放值后加加)

满栈:永远指向待插入位置,先加再放
空栈:永远指向已插入位置,先放再加

2.入栈出栈

入栈先++,出栈就要后--(反之同理)

如图

3.代码示例

arraystack.h

arraystack.c

栈的插入在这里通过覆盖思想替代原来元素(不删除原来元素,而是保留,如果不需要了,直接进行覆盖即可)

main.c

二.链式栈

1.注意点:

新节点必须放在老节点左侧(新节点指向老节点),在出栈时更方便

在右侧不好解决指针往回走的问题(出栈)

2.代码示例

Linkstack.h

Linkstack.c

http://www.jsqmd.com/news/285120/

相关文章:

  • 亚马逊DV报告,新旧标准与报告验证
  • Redis脑裂场景
  • 蓝牙产品什么情况需要申请BQB认证?
  • 大模型编程开发翻车现场!Opencode+三大国产模型联手修复代码失败,却在问题诊断上秒杀单模型?小白必看AI实战经验
  • Agent真香警告:不懂Agent的程序员,正在被时代淘汰!大模型+AI编程开发新范式
  • 锂电池CB 电池CB认证产品范围
  • 告别灌引水!真空辅助自吸泵如何实现9米高吸程?一篇读懂技术原理与企业实战​
  • 别再卷参数了!大模型开发必看:如何打造能打的企业级AI Agent
  • ISO 26262安全分析概览
  • 思科给AI生态换了一套“看人”的方式
  • 【Python】使用openpyxl模块操作xlsx表格
  • 终于有了能应对脏乱地面的自清洁扫地机器人
  • Slim-Neck 特征融合在 YOLOv11 中的应用:高效检测器架构优化方法
  • 三大经典学习法:苏格拉底、西蒙、费曼法(系统拆解+实操指南)
  • ODConv 动态卷积在 YOLOv8 中的应用:特征提取能力的改进方法
  • Node.js用WASI运行WebAssembly应用提速
  • 【AI大模型开发】-创建RAG问答实战(LangChain+DeepSeek+Faiss)
  • Adobe推出AI生成播客功能,Acrobat迎来更多智能化特性
  • hal!HalGetBusDataByOffset函数分析得到Device (PE40)PCI设备空间前4个字节不是0xFFFF说明PCI设备存在--非常重要
  • 粉料自动包装机
  • 兰亭妙微:以交互设计界面设计VUE开发,重塑智慧商保理赔新体验
  • 德勤报告:AI并未兑现盈利承诺
  • 【更新至2024年】2008-2024年各省规模以上工业企业RD经费数据
  • 方程式赛车发动机进气系统设计与分析
  • 自动化FortiGate攻击利用FortiCloud单点登录篡改防火墙配置
  • 在吴忠,遇见羽毛球:专业教练与智能系统伴你成长
  • 钢管旋切机设计—控制部分设计
  • 详细介绍:【Qt】Qt 批量修改同类对象
  • 2026年杭州休博康复护理院标杆推荐:休博康复护理院、休博养老医院、休博重症医院、休博重症护理医院(★★★★★)
  • MiroThinker:开源搜索代理模型助力高效研究