《数据结构及算法》第5章学生基本信息审核(栈).ppt

《数据结构及算法》第5章学生基本信息审核(栈).ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 第五章 学生基本信息审核---栈 第五章 学生基本信息审核(栈) 教学目标: 掌握栈的基本概念 掌握顺序栈的存储原理 利用顺序栈实现学生基本信息审核 了解递归算法的基本思想 重点: 学生基本信息审核的顺序栈的实现 难点: 顺序栈的操作及其应用 1、模块功能 学生基本信息审核功能界面如下: 2.1栈的基本概念 栈和队列是两种特殊的线性表,是操作受限的线性表. 栈的定义:限定仅在表尾进行插入或删除操作的线性表称为栈,表尾—栈顶,表头—栈底,不含元素的空表称空栈 特点:先进后出(FILO)或后进先出(LIFO) an a1 a2 ……... 栈底 栈顶 ... 出栈 进栈 栈s=(a1,a2,……,an) 2.2顺序栈 定义:利用顺序存储方式实现的栈称为顺序栈。用一维数组存储栈的元素。 2.3顺序栈定义实例 学生基本信息审核顺序栈定义: public class Stack {//定义顺序栈 const int Max_size=100;//顺序栈最大容量 public student_info [] elem=new student_info [Max_size];//保存部门信息 public int top=-1;//栈指针 } 2.4顺序栈的存储原理----入栈示意图: top 1 2 3 4 5 0 进栈 A 栈满 B C D E F top top top top top 2.5顺序栈的存储原理-----出栈算法示意图: top 出栈 1 2 3 4 5 0 A B C D E F top top top top top top 栈空 2.6两个顺序栈的使用: 程序中同时使用两个栈: 0 M-1 栈1底 栈1顶 栈2底 栈2顶 Class duStack{ public student_info [] stack=new student_info [500]; int top[2]; }; 2.7链栈: 链栈:用链式存储结构实现的栈称为链栈。 public class LinkStack {//定义链栈 public student_info elem;//保存部门信息 LinkStack next;//栈指针 } 栈顶 ^ …... top data next 栈底 3业务实现—总体描述 学生基本信息审核模块,可假想学生的基本信息资料放入一个文件箱里,先放进去的后审核,后放入的先审核。利用顺序栈的思想实现学生基本信息的审查、修改、保存的功能。整个模块的设计和实现的思路如下: 创建学生基本信息审核顺序栈类,用以记录要进行审核学生的基本信息。 2创建学生基本信息业务类,用以实现学生基本信息显示、进栈、出栈以及审核后的保存。 从数据控制层中,获取学生成绩信息,并放入到学生信息数组sx[]中,供表现层调用。 在入栈方法中,从表现层中将要进行审核的学生基本信息压入到顺序栈中。 在出栈方法中,从顺序栈中获取要进行审核的学生信息,并返回给表现层。 在保存方法中,从表现层将进行修改的学生基本信息传入,调用数据控制层的方法实现学生信息的保存。 3.1业务实现—学生基本信息顺序栈 该类是利用顺序栈的思想,来保存需要进行审核的学生基本信息,其主要的成员有: Student_info [] Data:用以记录需要进行审核的学生基本信息 int top:栈顶指针变量 public class Stack_Node { public Student_info [] Data; public int top; } 3.2业务实现—基本信息审核业务类 类用以实现学生基本信息的初始化,为审核业务提供入栈、出栈以及修改后的学生基本信息的保存。具体的成员和方法如下: public class Stack { StudentManger Ba= new StudentManger (); //创建数据控制层对象 public Stack_Node s= new Stack_Node (); public int Max=0; public Student_info []sx; {…}//记录学生的基本信息,供界面调用和保存时使用 public Stack() { Init(); } public void Init(){…}//初始化学生信息和顺序栈 public int Empty_Stack(){…}//判断顺序栈是否为空 public int Push_Stack(Student_info Elem) {…}//向顺序栈压入学生基本信息 public Student_info Elem Pop_Stack() {…}//创从顺序栈中弹出学生基本信息 public

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档