数据结构毕业设计
题 目 单链表的基本操作-建立和遍历
学生成绩管理系统-排列 排序问题-选择排序,直接插入排序
学生姓名 李易霖 专业班级 计算机10-1
指导教师 宋 丽 芳 职 称 副教授
所在单位 信息科学系软件教研室
系 主 任 王立娟
完成日期 2012年1月6日
大连科技学院
数据结构毕业设计成绩考核表
学生姓名 李易霖 专业班级 计算机10-1 学号 1001020112 单链表的基本操作,学生成绩管理系统,排序问题 题 目 考 核 项 目 1 2 3 4 出勤情况 完成原理分析 设计分析 完成代码编写与调试 独立工作能力、综合运用所学知识分析和解决问题能力5 及实际工作能力提高的程度 6 7 回答问题 毕业设计报告格式规范性 20 30 100 10 分值 10 10 10 10 评分 合计 总评成绩 注:总评标准采用优良制:优秀(90分以上)、良好(80-90)、中等(70-80)、及格(60-70)、不及格(60分以下)
指导教师签字:
毕业设计任务书
一、任务及要求
1. 设计(研究)内容和要求
研究内容:单链表的基本操作,学生成绩管理系统,二叉树的运算 任务和要求:
(1)学习数据结构基础知识,掌握数据结构典型的算法的使用。 (2)对指导教师下达的题目进行任务分析。 (3)根据分析结果完成设计。
(4)编程:在计算机上实现题目的代码实现。 (5)完成对程序的测试和调试。
(6)提交毕业设计报告(约二十页),含程序代码及运行结果。 2. 原始依据
结合数据结构毕业中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。
二、工作量
2周(10个工作日)时间。
三、计划安排
第1个工作日-第2个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第3个工作日:题目分析,设计算法。
第4个工作日-5个工作日: 功能模块的划分和设计。 第6个工作日:实现具体数据结构和模块。
第7个工作日-第8个工作日:程序设计与调试,编写毕业设计报告。 第9个工作日:上交毕业设计报告。
第10个工作日:软件验收、答辩,成绩评定。
指导教师签字:
2011年12月26日
目 录
题目一:单链表的基本操作 .............................................. 1
1 需求分析 ............................................................ 1
1.1 问题描述 ....................................................... 1 1.2 实现要求 ....................................................... 1 2.概要设计 ............................................................ 1
2.1逻辑结构设计 ................................................... 1 2.2功能结构设计 ................................................... 2 2.3物理结构设计 ................................................... 2 3 算法设计与实现 ...................................................... 3
3.1算法设计 ....................................................... 3 3.2算法实现与调试 ................................................. 3
题目二:线性表的应用——学生成绩管理 ................................ 4
1 需求分析 ............................................................ 4 1.1 问题描述 ....................................................... 4 1.2 实现要求 ....................................................... 4 2.概要设计 ............................................................ 4
2.1逻辑结构设计 ................................................... 4 2.2功能结构设计 ................................................... 5 2.3物理结构设计 ................................................... 5 3 算法设计与实现 ...................................................... 6
3.1算法设计 ....................................................... 6 3.2算法实现与调试 ................................................. 7
题目三:排序问题 ....................................................... 8
1 需求分析 ............................................................ 8 1.1 问题描述 ....................................................... 8 1.2 实现要求 ....................................................... 8 2.概要设计 ............................................................ 8
2.1逻辑结构设计 ................................................... 8 2.2功能结构设计 ................................................... 8 2.3物理结构设计 ................................................... 9 3 算法设计与实现 ...................................................... 9
3.1算法设计 ....................................................... 9 3.2算法实现与调试 ................................................ 11
总 结 .................................................................. 13
参考文献 ................................................................. 14
附录 全部代码 ......................................................... 15
题目一 ............................................................... 15 题目二 ............................................................... 19 题目三 ............................................................... 23
题目一:单链表的基本操作
1 需求分析 1.1 问题描述
用学过的方法建立单链表,掌握单链表的建立、插入,查找、删除、逆置等基本算 法和操作。掌握指针类型的应用和结构体的具体操作,初步掌握采用自底向上,分模块进行的程序的调试与测试。 1.2 实现要求 (1)建立单链表
用尾插法建立带头结点的单链表h,从键盘输入各整型数据元素,以“-1” 作为输入结束标志符。 (2) 遍历单链表h
依次输出链表中各数据元素。 (3) 按序号查找
查找单链表h中第i个元素并输出该元素。 (4) 插入
在单链表h的第i个元素位置上插入x数据元素 并遍历单链表h (5) 删除
删除单链表h的第i个数据元素,并返回第i个元素 同时遍历单链表h (6)求表长
求单链表的表长并输出表长 (7) 逆置单链表
逆置带头结点的单链表h,逆置后的单链表利用原表中的结点空间,不重新申请空间,逆置后进行遍历。
(8) 将一个元素插入到有序表中使表仍然有序
带头结点的单链表中的数据元素是整型数且有序。将x插入到顺序表的适当位置上,保持表的有序性,将两个递增的有序表归并成一个递减的有序表,利用原表空间,不能重新申请空间 2.概要设计 2.1逻辑结构设计
逻辑结构: 线性结构
二元组图式 G=(D,S)
1
D=(q,a,z,w,s,x) S={r}