- 2
- 0
- 约1.24万字
- 约 61页
- 2018-12-25 发布于广西
- 举报
第三章 栈和队列 本章内容 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;} 实现方法--利用栈进行表达式中的括号匹配 自左至右扫描表达式,若遇左括号,则将
您可能关注的文档
- 《2014高考成语专题》-精品课件(公开).ppt
- 《2014高三复习空间点、直线、平面之间的位置关系》-精品课件(公开).ppt
- 《2014春季八年级下Unit1What'sthematter全单元》-精品课件(公开).ppt
- 《2014北京卫视私人订制》-精品课件(公开).ppt
- 《2014年营改增会计继续教育》-精品课件(公开).ppt
- 《2014届高三数学(文)一轮总复习任意角的三角函数》-精品课件(公开).ppt
- 《2014新北师大版数学一年级下册《看一看(二)》》-精品课件(公开).ppt
- 《2014年9月24日人体解剖生理学第一章、第二章》-精品课件(公开).ppt
- 《2015六年级下选择购物方案》-精品课件(公开).ppt
- 《2015年(三级)咨询技能(2)》-精品课件(公开).ppt
最近下载
- SH∕T 3502-2021 钛和锆管道施工及验收规范.pdf
- 单位车辆定点维修合同范本.pdf
- 2025~2026学年第一学期末学业质量监测试卷(五年级数学).docx
- 临时使用的自制钢爬梯计算书.pdf VIP
- 分布式光伏发电项目施工组织设计.doc VIP
- CJJ1-2008城镇道路工程施工与质量验收规范.pdf VIP
- IACS Rec69 船用铸钢探伤标准.pdf VIP
- SHT 3502-2009 钛和锆管道施工及验收规范.docx VIP
- 2026年中国挡风玻璃清洁剂行业市场数据调查、监测研究报告.docx
- GM8775C数据手册( MIPI 转单双通道LVDS).pdf VIP
原创力文档

文档评论(0)