数据结构c语言版严蔚敏清华大学出版社第三章栈和队列.ppt

数据结构c语言版严蔚敏清华大学出版社第三章栈和队列.ppt

数据结构c语言版严蔚敏清华大学出版社第三章栈和队列

1. 定义 限定只能在表的一端进行插入和删除操作的线性表。特点:后进先出。 注:堆栈可以完成比较复杂的数据元素特定序列的转换任务,但它不能完成任何输入输出序列的转换任务。 例1:堆栈是什么?它与一般线性表有什么不同? 例2、一个栈的输入序列为1,2,3,若在入栈的过程中允许出栈,则可能得到的出栈序列是什么? 解:可以通过穷举所有可能性来求解: ① 1入1出, 2入2出,3入3出, 即123; ② 1入1出, 2、3入,3、2出, 即132; ③ 1、2入,2出, 3入3出, 即231; ④ 1、2入,2、1出,3入3出, 即213; ⑤ 1、2、3入,3、2、1出, 即321; 合计有5种可能性。 例3、一个栈的输入序列是12345,若在入栈的过程中允许出栈,则栈的输出序列43512可能实现吗?12345的输出呢? 解: 43512不可能实现,主要是其中的12顺序不能实现; 12345的输出可以实现,每压入一数便立即弹出即可。 顺序(堆)栈 顺序存储结构的堆栈。 顺序栈的存储结构 它是利用一组地址连续的存储 单元依次存放自栈底到栈顶的数 据元素,同时设指针top指示栈顶 元素的当前位置。用C语言定义: typedef struct { DataType stack[MaxStackSize]; int to

文档评论(0)

1亿VIP精品文档

相关文档