一、栈结构示意图


二、栈的常规操作

1.定义一个栈结构

/* 顺序栈结构 */
typedef struct
{SElemType data[MAXSIZE];int top; /* 用于栈顶指针 */
}SqStack

2.构建一个空栈

Status InitStack(SqStack *S){S->top = -1;return 1;
}

3.将栈置空

Status ClearStack(SqStack *S){S->top = -1;return 1;
}

4.判断顺序栈是否为空

Status StackEmpty(SqStack S){if (S.top == -1)return 1;elsereturn 0;
}

5.求栈的长度

int StackLength(SqStack S){return S.top + 1;
}

6.获取栈顶

从无到有算法养成篇-栈和队列·栈相关推荐

  1. 从无到有算法养成篇-栈和队列·队列

    一.队列的定义 队列是啥? 数据从表的一端进,从另一端出,且遵循 "先进先出" 原则的线性存储结构就是队列. 队列的两个基本操作:入队将一个数据放到队列尾部:出队从队列的头部取出一 ...

  2. 从无到有算法养成篇-利⽤栈思想解决问题

    一.什么时候用到栈思想? 栈的思想应⽤数据是线性的,问题可以利⽤栈的特性先进后出去解决问题! 二:思想实战 1.括号匹配检验:假设表达式中允许包含两种括号:圆括号与⽅括号,其嵌套顺序随意,即() 或者 ...

  3. 从无到有算法养成篇:一文读懂有关Tree的前世今生

    前言 对于大量的输入数据,链表的访问时间太长,不宜使用.而树刚好就是一种极大地缩短访问时间的数据结构,其平均访问时间复杂度为O(logN). 鉴于有些朋友并不仅仅是因为提高自己的编程能力来学习数据结构 ...

  4. 从无到有算法养成篇-链式存储结构之循环链表

    前言 循环,顾名思义就是:绕. 打个比方,就是从前山上有座庙,庙里有个老和尚和一个小和尚,有一天老和尚对小和尚说"从前山上有座庙,庙里有个老和尚和一个小和尚,有一天老和尚对小和尚说" ...

  5. 从无到有算法养成篇-双向链表与双向循环链表

    一.双向链表 1.定义:从下图中的定义结点的代码我们能发现,双向与单向最明显的区别就是是否可以反向查找上一结点. 定义 2.创建:大致和单向的创建差不多,区别在于多了prior的处理 步骤: 1.*L ...

  6. 从无到有算法养成篇-算法基础常识

    一.基础知识 1.数据结构常用术语: 1.1数据结构中的五个基本概念: 数据<-数据对象<-数据元素<-数据项 数据结构 1.2名词解析: • 数据:是描述客观事物的符号,是计算机中 ...

  7. 从无到有算法养成篇-线性表历练

    一.线性表定义及特色 满足数据元素不同,但是在同一个线性表中的元素必定具有相同的特点,即属于同一数据对象, 相邻数据元素之间存在这个序偶关系. 诸如此类由(n>=0)个数据特性相同的元素构成的有 ...

  8. 从无到有算法养成篇-单向循环链表的常规操作

    1.单向循环链表的创建 创建 tips: 由于存在两种情况: ① 第一次开始创建; ②已经创建,往里面新增数据 所以需要判断是否第一次创建链表 YES->创建一个新结点,并使得新结点的next ...

  9. 从无到有算法养成篇-线性表实战篇

    实战一:题⽬1 将2个递增的有序链表合并为⼀个有序链表; 要求结果链表仍然使⽤两个链表的存储 空间,不另外占⽤其他的存储空间. 表中不允许有重复的数据 例如: La {1,2,3} , Lb {3, ...

最新文章

  1. 不要再封装各种Util工具类了,这个神级框架值得拥有!
  2. 声腔设计中无前腔的影响
  3. ESP8266烧写时的各种参数设置
  4. html桌面雪花,html5 canvas雪花形状在线生成器
  5. (64位oracle使用32位的PLSQL)安装64位的oracle数据库软件,使用32位的PLSQL Developer连接方法...
  6. 文献记录(part1)--NP-hardness of Euclidean sum-of-squares clustering
  7. linux去重某一列,Linux shell命令统计某列去重后的值
  8. 项目经理的第二手准备-坚强的挺着(4)
  9. PHP 使用session实现购物车效果(点击按钮添加数据,根据数据生成列表,删除选中的商品,点击按钮时计算金额)
  10. python 线程(创建2种方式,锁,死锁,递归锁,GIL锁,守护进程)
  11. 使用截图工具FastStone Capture
  12. 04 _ 可扩展架构案例(一):电商平台架构是如何演变的?
  13. 最全事业单位考试计算机基础知识试题,最全的事业单位考试计算机基础知识试题...
  14. 【算法】麦克风阵列的自适应降噪算法
  15. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+
  16. python排列3彩票统计
  17. 小王的尴尬日常(一)--使用RSA公钥证书解密
  18. 【笔记】脉搏波手环自研之路开启
  19. Mac OS下Charles抓包小程序的保姆级操作过程
  20. mit2021计算机竞赛女生,2021全国大学生计算机系统能力大赛操作系统设计赛第一场研讨会隆重举行...

热门文章

  1. 关于expanded一级二级菜单数据的分组排序
  2. 如何使用 Mmcv.exe 工具来管理群集消息队列资源[转]
  3. 学科网站建设的尝试与思考
  4. CSP认证201604-2 俄罗斯方块[C++题解]:模拟、枚举
  5. sql left join 去重_混入了一些奇怪的东西?SQL小技巧之数据去重
  6. bim推荐计算机配置,BIM建模推荐电脑配置清单 适合Revit软件的BIM建模电脑主机配置(2)...
  7. oracle swap忽略可以吗,Oracle Swap居高不下处理
  8. C#中类的属性(Property)
  9. C/C++中的数据类型转换
  10. linux nvme分区,这些 loop 分区是什么鬼东西?