- 3
- 0
- 约9.96千字
- 约 58页
- 2018-11-02 发布于广西
- 举报
湖南科技大学 数据结构 胡蓉 课前思考 1. 什么是线性结构? 2. 你见过餐馆中一叠一叠的盘子吗?如果它们是按1,2,…,n 的次序往上叠的,那么使用时候的次序应是什么样的? 3. 在日常生活中,为了维持正常的社会秩序而出现的常见现象是什么? 栈的定义和特点 定义:限定仅在表尾进行插入或删除操作的线性表,表尾对应栈顶,表头对应栈底,不含元素的空表称空栈。 往栈顶插入元素的操作为“入栈”,称删除栈顶元素的操作为“出栈”。 因为后入栈的元素先于先入栈的元素出栈,故被称为是一种后进先出的结构 特点:先进后出(FILO)或后进先出(LIFO) 讨论1:栈是什么?它与一般线性表有什么不同? 顺序栈的类型定义如下: # define STACK__INIT__SIZE 100;//存储空间初始分配量 #define LISTINCREMENT 10;//存储空间分配增量 typedef structure{ SElemType *base; //栈底指针,在构造和销毁之前为null SElemType *top; //栈顶指针 int stacksize;//当前已分配的存储空间,以元素为单位 }SqStack; 1、构造一个空栈 int InitStack(SqStack s){ s.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType)); If (!s.base) exit(-1); s.top=s.base; //空栈 s.stacksize=STACK_INIT_SIZE; return 1;} 2、返回栈顶元素 int GetTop(SqStack s,SElemType e) { if (s.top= =s.base) return 0; e=*(s.top-1);return 1; } 顺序栈出栈算法: Status Pop(SqStack s,SElemTyp e){ If (s.top= =s.base) return ERROR; e=*--s.top; //出栈(-- s.top; e=*s.top;) return OK; } 例如考虑下列括号序列: [ ( [ ] [ ] ) ] 1 2 3 4 5 6 7 8 检验括号是否匹配的方法可用期待的急迫程度这个概念来描述。即后出现的左括弧,它等待与其匹配的右括弧出现的急迫心情要比先出现的左括弧高。当计算机接受了第一个括号后,它期待着与其匹配的第八个括号的出现,然而等来的却是第二个括号,此时第一个括号[只能暂时靠边,而迫切等待与第二个括号相匹配的、第七个括号]的出现,类似地,因等来的是第三个括号[,其期待匹配的程度较第二个括号更急迫,则第二个括号也只能靠边,让位于第三个括号,在接受了第四个括号之后,第三个括号的期待得到满足,消解之后,第二个括号的期待匹配就成为当前最急迫的任务了,…,依次类推。 分析可能出现的不匹配的情况: 到来的右括弧并非是所“期待”的; 例如:考虑下列括号序列: [ ( [ ) [ ] ) ) 1 2 3 4 5 6 7 8 到来的是“不速之客”; 直到结束,也没有到来所“期待”的括弧。 算法的设计思想: 1)凡出现左括弧,则进栈; 2)凡出现右括弧,首先检查栈是否空 若栈空,则表明该“右括弧”多余, 否则和栈顶元素比较, 若相匹配,则“左括弧出栈” , 否则表明不匹配。 3)表达式检验结束时, 若栈空,则表明表达式中匹配正确, 否则表明“左括弧”有余。 Status matching(string exp) { int state = 1;i=0 while (iLength(exp) state) { switch (exp[i]) { case “(”:{Push(S,exp[i]); i++; break;} case ”)”: { if(!StackEmpty(S)GetTop(S)=“(“ ) {Pop(S,e); i++;} else {state = 0;} break; } } if (StackEmpty(S)sta
您可能关注的文档
- 二年级下册锐角和钝角-精选(公开课件).ppt
- 二十二、古代戏曲-精选(公开课件).ppt
- 帆船酒店朱美拉-精选(公开课件).ppt
- 泛读课第一册foolishparadise课文讲解-精选(公开课件).ppt
- 梵蒂冈-梵蒂冈-精选(公开课件).ppt
- 粉体力学3-1-精选(公开课件).ppt
- 服装JIT培训-精选(公开课件).ppt
- 复变函数第三章复变函数的积分-精选(公开课件).ppt
- 复变函数课件3-7解析函数与调和函数的关系-精选(公开课件).ppt
- 高二中国地理授课课件五中国的河流与湖泊(1)-精选(公开课件).ppt
- 《病理生理学》(人卫第8版)试卷及答案.docx
- 2025年云计算服务行业五年市场规模分析报告.docx
- 手术室护士理论模拟试卷及答案.docx
- 2025年水电站主变压器油样采集与检测试卷及答案.docx
- 2025_2026学年新教材高中地理第二章资源安全与国家安全第三节中国的耕地资源与粮食安全课时评价含解析新人教版选择性必修第三册.doc
- 2025年全国网络安全知识竞赛试卷及答案.docx
- 2025年电力电网-国家电网职称-电网中级(电力系统及其自动化)历年参考试卷及答案.docx
- 初中英语八年级下册Unit10情感表达与建议主题单元复习课教学设计.docx
- 六年级英语小升初语音与字母系统专项复习.docx
- UnitLet’scelebrate!TheRealFatherChristmas课件外研版高中英语().pptx
最近下载
- 《GBT1541-2013纸和纸板尘埃度的测定》(2026年)实施指南.pptx VIP
- 办公用品采购服务方案、售后方案.docx VIP
- 胃肠外科护理护士出科理论考核试题与答案.pdf VIP
- 废水污染源自动在线监控设施业务知识.docx VIP
- 护理业务查房管理规范(T/HNNAS 005—2025).pptx
- 哲学概论第2讲-本体论.ppt VIP
- 人教版一年级数学下册.pdf VIP
- 复杂超限高位大跨连体结构设计.pdf VIP
- JBT 9101-2014 通风机转子平衡.pdf VIP
- 深度解析(2026)《GBT 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pptx VIP
原创力文档

文档评论(0)