《数据结构及算法》第6章学生成绩信息审核(队列).ppt

《数据结构及算法》第6章学生成绩信息审核(队列).ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 第6章 学生成绩信息审核(队列) 第六章 学生成绩信息审核(队列) 教学目标: 掌握队列的基本概念和基本操作 循环队列的基本概念和操作 应用循环队列实现学生成绩信息审核管理 了解链式队列实现原理 重点: 学生成绩信息审核循环队列实现 难点: 循环队列的操作实现 6.1 学生成绩审核功能描述 学生成绩信息审核界面实现如下: 6.2队列的基本概念 队列的定义和特点: 定义:队列是限定只能在表的一端进行插入,在表的另一端进行删除的线性表 队尾(rear)——允许插入的一端 队头(front)——允许删除的一端 队列特点:先进先出(FIFO) a1 a2 a3…………………….an 入队 出队 front rear 队列Q=(a1,a2,……,an) 6.2.1顺序队列的存储 队列的顺序存储结构 实现:用一维数组实现sq[M] 1 2 3 4 5 0 front=0 rear=0 队空 设两个指针front,rear,约定: rear指示队尾元素的下一个位置; front指示队头元素 初值front=rear=0 空队列条件:front==rear 入队列:sq[++rear]=x; 出队列:x=sq[++front]; 10 rear=1 20 rear=2 30 rear=3 1 2 3 4 5 0 30 rear=3 20 10 front=0 1 2 3 4 5 0 front=0 rear=0 front=1 front=2 1 2 3 4 5 0 30 rear=3 front=2 40 rear=4 50 rear=5 60 rear=6 6.2.2顺序队列的存储存在的问题 存在问题 设数组维数为M,则: 当front=0,rear=M-1时,再有元素入队发生溢出——真溢出 当front?0,rear=M-1时,再有元素入队发生溢出——假溢出 解决方案 队首固定,每次出队剩余元素向下移动——浪费时间 循环队列 基本思想:把队列设想成环形,让sq[0]接在sq[M-1]之后,若rear+1==M,则令rear=0; 0 M-1 1 front rear …... …... 实现:利用“模”运算 入队: rear=(rear+1)%M; sq[rear]=x; 出队: front=(front+1)%M; x=sq[front]; 队满、队空判定条件 6.2.3循环队列 0 1 2 3 4 5 rear front J4 J5 J6 0 1 2 3 4 5 rear front J9 J8 J7 J4 J5 J6 0 1 2 3 4 5 rear front 初始状态 J4,J5,J6出队 J7,J8,J9入队 队空:front==rear 队满:front==rear 解决方案: 1.另外设一个标志以区别队空、队满 2.少用一个元素空间: 队空:front==rear 队满:(rear+1)%M==front 队空:front==rear 队满:front==rear 3 业务实现—总体描述 学生基本成绩审核模块,假想学生的成绩单,放在一个队列里,先来的先审核,后来的后审核。用过循环队列实现学生成绩信息审查、修改、保存的功能。整个模块的设计和实现的思路如下: 创建学生成绩信息顺序队列类,用以记录要进行审核学生的成绩信息。 创建学生成绩信息业务类,用以实现学生成绩信息显示,入队、出队以及审核后的保存。 从数据控制层中,获取学生成绩信息,并放入到学生信息数组sx[]中,供表现层调用。 在入队方法中,从表现层中将要进行审核的学生成绩信息压入到循环队列中。 在出队方法中,从循环队列中获取要进行审核的学生成绩信息,并返回给表现层。 在保存方法中,从表现层将进行修改的学生成绩信息传入,调用数据控制层的方法实现学生信息的保存。 3.1业务实现—成绩审核顺序队列类 该类是利用循环队列的思想,来保存需要进行审核的学生成绩信息,其主要的成员有: Student_info [] Data:用以记录需要进行审核的学生成绩信息 int front,rear:队头、队尾指针变量 具体代码实现如下: public class Queue_node { public Student_info [] Data;//学生成绩顺序队列 public int front,rear; //队头、队尾指针 } 3.2业务实现—成绩信息审核业务类 该类用以实现学生基本信息的初始化,并实现学生成绩信息审核的入队、出队以及修改后的学生成绩信息的保存。具体的成员和方法如下: public class Queue { StudentManger Ba=new StudentManger (); /

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档