数据结构复习笔记————栈的常用接口实现(c语言)

  • 栈的概念
  • 栈的选择题
  • 栈的常用接口实现
    • 1.栈的创建
    • 2.栈的初始化
    • 3.栈的销毁
    • 4.栈的判断是否为空
    • 5.进栈
    • 6.出栈(删除数据)
    • 7.出堆顶的数据
    • 8.返回栈中数据的个数
  • 有效括号

栈的概念

栈:一种特殊的线性表,只允许固定一端入进行删除和插入数据,进行插入和删除数据的一端为栈顶,另一端为栈底。
入栈:栈的插入数据为入栈,入的数据在栈顶
出栈:栈的删除数据为出栈,删除数据也在栈顶
特点:后进先出,先进后出。

数据结构复习笔记————栈的常用接口实现(c语言)_第1张图片
数据结构复习笔记————栈的常用接口实现(c语言)_第2张图片

栈的选择题

4.若进栈序列为 1,2,3,4 ,进栈过程中可以出栈,则下列不可能的一个出栈序列是()
A 1,4,3,2
B 2,3,4,1
C 3,1,4,2
D 3,4,2,1

A选项:数据结构复习笔记————栈的常用接口实现(c语言)_第3张图片
B选项:

数据结构复习笔记————栈的常用接口实现(c语言)_第4张图片
C选项:
数据结构复习笔记————栈的常用接口实现(c语言)_第5张图片

栈的常用接口实现

栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的
代价比较小。不需要一直创建节点。
数据结构复习笔记————栈的常用接口实现(c语言)_第6张图片

1.栈的创建

数据结构复习笔记————栈的常用接口实现(c语言)_第7张图片

2.栈的初始化

栈的初始化可以先给数组创建4个空间的存储数据,最大容量为4

数据结构复习笔记————栈的常用接口实现(c语言)_第8张图片

3.栈的销毁

数据结构复习笔记————栈的常用接口实现(c语言)_第9张图片

4.栈的判断是否为空

数据结构复习笔记————栈的常用接口实现(c语言)_第10张图片

5.进栈

数据结构复习笔记————栈的常用接口实现(c语言)_第11张图片

6.出栈(删除数据)

出栈只需要把栈顶的第一个数据删除即可,即top-1
数据结构复习笔记————栈的常用接口实现(c语言)_第12张图片

7.出堆顶的数据

数据结构复习笔记————栈的常用接口实现(c语言)_第13张图片
数据结构复习笔记————栈的常用接口实现(c语言)_第14张图片

8.返回栈中数据的个数

数据结构复习笔记————栈的常用接口实现(c语言)_第15张图片

有效括号

链接: 有效括号.
数据结构复习笔记————栈的常用接口实现(c语言)_第16张图片

思路:
创建一个栈,然后遍历一遍字符串,如果遇到 ’ [ ’ , ’ ( ’ , ’ { ',把它们放进栈里面去,如果遇到 ‘ ] ’ , ’ ) ', ’ } '其中一个,则取栈顶的括号看是否相对应,如果不对应,则返回false,相对应则继续往下判断,如果字符串判断结束后全都相对应,则返回true。
数据结构复习笔记————栈的常用接口实现(c语言)_第17张图片
数据结构复习笔记————栈的常用接口实现(c语言)_第18张图片
由上述情况,直到字符串遍历完成。
数据结构复习笔记————栈的常用接口实现(c语言)_第19张图片
数据结构复习笔记————栈的常用接口实现(c语言)_第20张图片
数据结构复习笔记————栈的常用接口实现(c语言)_第21张图片
代码如下:
需要将前面写的栈复制进题目,然后在去实现。
数据结构复习笔记————栈的常用接口实现(c语言)_第22张图片

你可能感兴趣的:(数据结构,c语言,栈)