c语言课件栈和队列.ppt

栈和队列 栈 抽象数据类型栈的定义 栈的表示和实现 栈的应用举例 数制转换 表达式求解 队列 栈(Stack) 栈的基本概念 栈:又称为后进先出的线性表(LIFO表,Last In First Out)一叠书或一叠盘子。 栈与子程序调用 调用子程序时,计算机将子程序要用到的参数及返回地址等信息存放在栈里 子程序返回时,从栈顶取回返回地址,转回主调程序继续运行。 处理递归调用 顺序栈 用数组定义(类似于顺序表),将栈底位置设置在向量两端的任意一个端点;用top(整型量,栈顶指针)来指示栈当前栈顶位置。 定义: typedef (type) Element;/*栈元素的数据类型*/ #define maxsize 100 /*栈初始的容量*/ typedef struct stack {Element data[maxsize]; int top; }Stack; /*顺序栈类型定义*/ Stack *s; /*s是顺序栈类型指针*/ 顺序栈:栈顶指针与栈中元素间的关系 顺序栈 栈底位置固定在数组的低端,即: S-data[0]----表示栈底元素; 进栈:S-TOP加1(正向增长)。 退栈:S-TOP减1。 空栈: S-TOP 0 栈满:S-TOP=maxsize-1 上溢:栈满时再做进栈运算(一种出错状态,应设法避免)。 顺序栈的几种基本运算 置空栈 判栈空 进

文档评论(0)

1亿VIP精品文档

相关文档