第4章栈和队列11.ppt

第4章栈和队列11

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

文档评论(0)

1亿VIP精品文档

相关文档