第4章栈和队列 栈 栈的应用 队列 队列的应用
第4章 栈和队列 栈 栈的应用 队列 队列的应用
栈的定义 ◆栈:限定仅在表尾进行插入和删除的线性表,又称后进 先出( Last in First0ut或筒称LFO)的线性表。 ◆栈顶:允许进行插入和删除的一端。 ◆栈底:不允许插入和删除的另一端 ◆实例: 出栊 栈顶top 底 bottom 图4-1栈的示意图
栈的定义 栈:限定仅在表尾进行插入和删除的线性表 ,又称后进 先出(Last In First 0ut或简称LIFO)的线性表。 栈顶:允许进行插入和删除的一端。 栈底:不允许插入和删除的另一端 。 实例:
栈的运算 初始化:建立一个空栈。 入栈:在栈中加入一个新元素 出栈:删除栈中的栈顶元素。 取栈顶:读栈中的栈顶元素。 判空:测试栈是否为空
栈的运算 初始化:建立一个空栈。 入栈 :在栈中加入一个新元素。 出栈: 删除栈中的栈顶元素。 取栈顶:读栈中的栈顶元素。 判空:测试栈是否为空
栈的表示方式 静态的数组表示:栈的顺序存储结构,常常 以一个固定大小的数组来表示栈。 动态的链表表示:用链表的结构来表示栈
栈的表示方式 静态的数组表示:栈的顺序存储结构,常常 以一个固定大小的数组来表示栈。 动态的链表表示:用链表的结构来表示栈
栈的顺序存储结构 顺序栈:用一组地址连续的存储单元依次存放自栈底 到栈顶的数据元素,设指针top指示栈顶元素在顺序栈 中的位置。 顺序栈数据结构可表示为: Typedef struct int stacksize elemtype *bottom; elemType *top; } SqlStack;/顺序栈类型定义* Sqlstack*s;/*S是顺序栈类型指针*/
栈的顺序存储结构 顺序栈:用一组地址连续的存储单元依次存放自栈底 到栈顶的数据元素,设指针top指示栈顶元素在顺序栈 中的位置。 顺序栈数据结构可表示为: Typedef struct { int stacksize; elemtype *bottom; elemType *top; }SqlStack; /*顺序栈类型定义*/ Sqlstack *S; /*S是顺序栈类型指针*/