《ch03StackQueue(USE)》-精品课件(公开).pptVIP

  • 2
  • 0
  • 约1.24万字
  • 约 61页
  • 2018-12-25 发布于广西
  • 举报

《ch03StackQueue(USE)》-精品课件(公开).ppt

第三章 栈和队列 本章内容 3.1 栈 3.1.1 栈的定义及基本运算 3.1.2 栈的存储结构和实现 3.1.3 栈的应用 3.2 队列 3.2.1 队列的定义及基本运算 3.2.2 队列的存储结构和实现 3.2.3 队列的应用 3.1.1 栈的定义及基本运算 栈(Stack)的定义  栈是仅限定在表尾进行插入和删除操作的线性表。 术语 栈顶(top)--栈的表尾 栈底(bottom) --栈的表头 空栈--没有元素的栈 入栈(push) --向栈顶压入元素 出栈(pop) --从栈顶弹出元素 3.1.1 栈的定义及基本运算 栈的运算演示 (1)A、B、C、D四个元素依次进入一个栈,再依次出栈,得到一个输出序列DCBA。 3.1.1 栈的定义及基本运算 栈的运算演示 (1)A、B、C、D四个元素依次进入一个栈,再依次出栈,得到一个输出序列DCBA。 (2)能否由入栈序列A、B、C、D、E得到出栈序列CBDAE? 3.1.1 栈的定义及基本运算 栈的运算演示 (1)A、B、C、D四个元素依次进入一个栈,再依次出栈,得到一个输出序列DCBA。 (2)能否由入栈序列A、B、C、D、E得到出栈序列CBDAE? 3.1.1 栈的定义及基本运算 栈的运算演示 (1)A、B、C、D四个元素依次进入一个栈,再依次出栈,得到一个输出序列DCBA。 (2)能否由入栈序列A、B、C、D、E得到出栈序列CBDAE? 3.1.1 栈的定义及基本运算 栈的运算演示 (1)A、B、C、D四个元素依次进入一个栈,再依次出栈,得到一个输出序列DCBA。 (2)能否由入栈序列A、B、C、D、E得到出栈序列CBDAE? 3.1.1 栈的定义及基本运算 栈的基本运算 InitStack(S): 初始化栈S StackEmpty(): 判断栈是否为空 Push(e): 将元素e放入栈顶 Pop(e): 移走栈顶的元素,同时由e带回该元素的值 Gettop(): 获取栈顶的元素,但不从栈中移走 3.1.2 栈的表示和实现 顺序栈--栈的顺序存储结构 3.1.2 栈的存储结构和实现 顺序栈--栈的顺序存储结构 3.1.2 栈的存储结构和实现 顺序栈的C语言实现 结构定义 // -----栈的顺序存储表示----- # define STACK_INIT_SIZE 100; # define STACKINCREMENT 10; typedef struct { ElemType *base; //栈底指针,栈构造前和销毁后为空 ElemType *top; //栈顶指针,指向栈顶元素的下一位置 int stacksize; //当前分配的栈的存储空间数 }SqStack; 3.1.2 栈的存储结构和实现 顺序栈的C语言实现 基本操作的实现 (1) 初始化 Status InitStack(SqStack S){ //构造一个空栈 S.base = (ElemType *)malloc(STACK_INIT_SIZE * sizeof(ElemType)) ; if(!S.base) exit (OVERFLOW); S.top = S.base; S.stacksize = STACK_INIT_SIZE ; return OK; }//InitStack 3.1.2 栈的存储结构和实现 顺序栈的C语言实现 基本操作的实现 (2) 元素入栈 Status Push(SqStack S, ElemType e){ //构造一个空栈 if (S.top – S.base = = S.stacksize) return ERROR; //栈满 *S.top = e; S.top++; return OK; }//Push 其它操作的实现算法P47。 3.1.2 栈的存储结构和实现 链栈--栈的链式存储 3.1.3 栈的应用   根据栈的FILO特性,用作某些处理问题的工具。 数制转换(算法P48) 例: 4310 = 1010112 3.1.3 栈的应用 括号匹配 设一个表达式中可以包含三种括号:“(”和“)”、“[”和“]”、“{”和“}”,并且这三种括号可以按照任意的次序嵌套使用,考查表达式中的括号是否匹配。例如: ...[...{...[...}...]...]...[...]...(...)...)... 例: a=b+(c-d)*(e-f)); while (m(a[8]+t) {m=m+1; t=t-1;} 实现方法--利用栈进行表达式中的括号匹配 自左至右扫描表达式,若遇左括号,则将

文档评论(0)

1亿VIP精品文档

相关文档