数据结构课程设计.docx





《数据结构课程设计.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、安徽理工大学计算机科学与技术系第页数据结构课程设计Course Design of Data Structure计算机系 02-3姓名:连加凯 学号:200222056指导老师:胡胜利 2005 年 1 月 9 日安徽理工大学计算机科学与技术系第页目 录1需求分析说明 -32概要设计说明 -43详细设计说明 -54调试分析 -75用户使用说明 -86课程设计总结 -107测试结果 -108参考书目 -12安徽理工大学计算机科学与技术系第页需求分析说明内部排序教学软件的总体功能要求:内部排序教学软件的总体目标:在 TURBO C2.0 的开发环境下,利用所学C 语言和数据结构的相关知识,开发一个
2、具有良好人机界面的内部排序教学软件,实现各种内部排序,并能使用户通过其显示结果对每种排序方法的性能有一个直观的了解,从而达到教学的目的。基本功能如下:(1)界面友好,易与操作。采用菜单或其它人机对话方式进行选择。(2)实现各种内部排序。包括冒泡排序,直接插入排序,直接选择排序,希尔排序,快速排序,堆排序。(3)待排序的元素的关键字为整数。可用随机数据和用户输入数据作测试比较。比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换以 3 次计)。(4)演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标的列表,以便比较各种排序的优劣。以下是各功能模块的功能描述:1主函数模块本模块
3、的主要功能是初始化图形界面,调用各模块,实现软件功能。2排序功能及输出子模块本模块的主要功能是根据用户的选择进行数组的创建,并对输入数据或者随机产生的数据使用六种排序方法进行排序并统计每种方法的移动次数和比较次数,然后输出以表格形式输出。3封面和结束画面子模块本模块的主要功能是当用户打开本软件时模拟软件加载,延时数秒后关闭,并进入图形界面,在用户退出软件时显示结束画面,延时数秒后关闭程序。4图形界面子模块本模块的主要功能是根据用户的选择显示不同的画面,引导用户使用软件所提供的各种功能,并在用户提供必要数据,并选择排序功能时调用排序模块,并显示结果画面。5输入子模块本模块的主要功能是进行光标定位
4、,输出提示文字,并对用户输入数据进行处理,创建数组。6.鼠标实现模块本模块的主要功能是为用户提供鼠标操作支持,使用户能使用鼠标进行功能的选择。安徽理工大学计算机科学与技术系第页测试数据:1:随机数若干组2:升序数组1,2,3,4 ,5,6,7,8,9,103:降序数组9,8,7,6 ,5,4,3,2,1,0概要设计说明模块调用图:可排序表的抽象数据类型定义为:ADT Orderablelist 数据对象:D=Ai | Ai Integer,i=1,2,n, n=0数据关系:R=|Ai-1,AiD,i=1,2,n基本操作:#define MAXSIZE 200/*数组最大长度*/int MOV_
5、CNT; /*移动次数*/int CMP_CNT; /*比较次数 */void Exchange( int num, int i, int j ) /*交换数组元素 i,j*/void ShellSort( int num, int n ) /*希尔排序*/void QuickSort(int p,int c,int d)/*快速排序*/void SIFT( int num, int s, int n ) /*调整建堆函数*/void HeapSort( int num, int n )/*堆排序*/void ChooseSort( int num, int n )/*选择排序*/void B
6、ubbleSort( int num, int n )/*冒泡排序*/void Insertsort( int num,int n )/*插入排序*/主模块图形界面子模块排序功能及输出子模块封面和结束画面子模块输入子模块鼠标实现模块安徽理工大学计算机科学与技术系第页void Sort( int array, int n ) /*调用六种排序方法并输出移动次数和比较次数*/void CreatRan( int array, int n ) /*建立随机数组*/void CreatUp( int array, int n )/* 建立升序数组*/void CreatDown( int array,
7、 int n ) /*建立降序数组*/int InputLen()/*输入数组长度 */void InputArray( int array, int n ) /*建立人工输入的数组*/void Locate( int row, int col ) /* 光标定位*/void MouseMath()/*计算鼠标的样子*/void MouseOn( int x, int y ) /*鼠标光标显示*/void MouseSetX( int lx, int rx ) /*设置鼠标左右边界*/ void MouseSetY( int uy, int dy ) /*设置鼠标上下边界*/void Mous
8、eSetXY(int x,int y) /*设置鼠标当前位置*/int MouseStatus( int *x, int *y, int *state )/*鼠标坐标及按键情况*/int StartScreen()/*开始界面的进度条*/int MainWin( int x1, int y1, int x2, int y2 )/*主窗口*/int CloseButton( int y1, int x2, int close )/*关闭按钮*/void Button( int buttonx1, int buttony1, int buttonx2, int buttony2, char *na
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计

限制150内