- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2、 链式存储的栈( 链栈 ) 以单链表作为存储结构,头指针作为栈顶指针。 其节点结构与单链表的结构相同。基本运算的实现读者可参见本教材实践篇实验3。 top top 8 16 ^ 10 8 16 ^ 10 即 * 三、 栈的应用 1、 算术表达式求值 算术表达式的组成: 运算符( + - * / ) 运算对象(整数) 运算规则: 先乘除,后加减 同级运算符先左后右 * 算法思想:(需设立两个栈-运算符栈、操作数栈) 从左到右扫描算术表达式; 遇到运算对象(称操作数),入操作数栈; 遇到运算符,若该运算符优先级高于运算符栈的栈顶运算符,该运算符入栈;若不高于栈顶运算符,则栈顶运算符出栈,并弹出操作数栈的两个操作数进行运算,运算结果入操作数栈; 重复上述过程,直至算术表达式扫描完毕。 * 例:#5+3*4# # + # + * # + # # 5 3 5 3 4 5 12 17 5 运算符栈 操作数栈 计算结果为17 * 2、 数制转换 将一个非负的十进制整数转换成一个八进制数。 算法思想: 将待转换的十进制整数除以8得到的 余数压入栈中,再将商除以基数8得 到的余数压入栈中,重复这一过程, 直到商为0结束。从栈中弹出的序列 即为转换结果。 算法描述 * 例: 将102转换成八进制数。 8 102 6 8 12 4 8 1 1 12 1 0 6 4 6 4 1 6 逐个弹出元素得到的146即为转换后的八进制数 * 2.6 队列 2.6.1队列的定义和基本运算 1、队列的定义 实例: 排队购物 定义: 队列是限定在表的一端进行插入操作,而在另一端进行删除操作的线性表。 a1 a2 … an 删除 插入 队头 队尾 * 允许插入的一端称为队尾(rear),允许删除的一端称为队头(front)。上图中a1为队头元素,an为队尾元素。 队列的特点: 数据元素先进先出(FIFO-First In First Out) 队列的三个要素: 存放队列元素的存储空间; 队头指针; 队尾指针。 * 2、队列的基本运算 队列初始化 initqueue(q) 建立一个空队列q 入队 addq(q, x) 在队列q的队尾插入元素x 出队 delq(q) 删除队列q的队头元素 取队头元素 getfront(q, x) 取出队列q的队头元素置入x,由x传出。 a1 a2 … an 出队 入队 * 2.6.2队列的存储结构和运算的实现 1、顺序存储的队列(顺序队列) 用一组地址连续的存储单元依次存放从队头到队尾的数据元素,同时附设两个指针front和rear,分别指示队头元素和队尾元素的位置。 (用类C语言描述为一个结构) 为方便起见,队头指针front指向队头元素的前一个位置,队尾指针rear指向队尾元素位置。 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 front 10 15 7 rear rear front rear front rear 16 8 front * #define maxsize 5 typedef struct squeue { int elem[maxsize]; int front, rear; }Squeue; 返回 * 在顺序队列上基本运算的实现: 队列的初始化 4 3 2 1 0 q-rear q- front 队头指针和队尾指针均赋初值-1。 即: void initqueue ( Squeue * q ) { q-front = q-rear = -1; } * 入队 (算法描述) if ( 队列不满 ) { 队尾指针加1; 将元素x插入到队尾; } else 出错; 4 3 2 1 0 10 15 7 4 3 2 1 0 q-front 10 15 q-rear q- rear q- front * #define ERROR 0 #define OK 1
您可能关注的文档
最近下载
- 住院医师规范化培训教学活动指南(2021年版)文字版.docx
- tc helicon voicelive人声效果器中文说明书.pdf
- 高中化学知识点总结.docx VIP
- 京东集团员工手册-京东.docx
- 2024年江苏省政府采购专家库题库.docx VIP
- 电力安装三方合同协议书.docx
- 2025年汉江国有资本投资集团有限公司招聘【57人】笔试参考题库附带答案详解.docx
- 高标准农田建设项目管理.pptx
- 蒸压加气混凝土制品应用技术标准.pdf
- 部编版历史七年级上册第一单元 史前时期 中国境内早期人类与文明的起源 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
文档评论(0)