C#程序设计实验.docx

上传人:太** 文档编号:40295153 上传时间:2022-09-09 格式:DOCX 页数:5 大小:15.69KB
返回 下载 相关 举报
C#程序设计实验.docx_第1页
第1页 / 共5页
C#程序设计实验.docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《C#程序设计实验.docx》由会员分享,可在线阅读,更多相关《C#程序设计实验.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据结构实验指导实验九:排序方法的实现一、实验目的1、掌握排序的基本概念。2、掌握不同的排序方法。3、掌握排序方法的比较。4、了解排序方法的应用。二、实验学时2学时三、实验类型综合性实验四、实验需求1、硬件每位学生配备计算机一台;2、软件Windows XP/ Windows 7 操作系统;开发工具软件:Microsoft Visual Studio 2010。五、实验理论与预备知识1、数据结构的基本概念2、存储结构的特点3、不同的排序方法4、排序方法的算法实现六 实验任务1、排序方法的代码实现2、编写应用程序,用相关数据验证运算算法七、实验内容及步骤任务:代码实现顺序表的创建、显示、排序;编

2、写应用程序,用相关数据验证算法。实验步骤:(1) 启动Visual Studio 2010,创建窗体应用程序。(2) 创建顺序表的存储结构,包括创建、显示、直接插入排序、快速排序、直接选择排序等方法,代码参考如下:struct RecType (public int key;public string data;); class InterSortClass(const int MaxSize = 10000;public RecType R;public int length;string sstr;public InterSortClass() |R = new RecTypeMaxSiz

3、e;length = 0;h = new RadixNode(); ) /顺序表的基本运算和排序算法public void CreateList(string split) |int i;for (i = 0; i 0) (string mystr = R0.key.ToString();for (i = 1; i length; i+)扫描顺序表中各元素值mystr += + Ri.key.ToString();return mystr;else return 空串; )/各种排序算法public string InsertSort()对RO.nl按递增有序进行直接插入排序int i,j;s

4、tring mystr =RecType tmp;for (i = 1; i = 0 & Rj.key tmp.key) |Rj + 1 = Rj;将关键字大于Ri.key的元素后移j-;)Rj + 1 = tmp;在 j+1 处插入 Rifor (int k = 0; k length; k+)mystr += Rk.key.ToString() + mystr += HrnH;)return mystr; public string QuickSort()对R0nl的元素按递增进行快速排序sstr = nn;QuickSortl(0, length - 1);return sstr;)pr

5、ivate void QuickSortl(int s, int t)对 Rs.t的元素进行快速排序int i = s, j = t;RecType tmp;if(s i & Rj.key = tmp.key) j-;Ri = RD1;while (i j & Ri.key = tmp.key) i+;Rj = Ri;Ri = tmp;for (int k = 0; k length; k+)sstr += Rk.key.ToString() + sstr += nrnn;Quicksortl(s, i - 1);QuickSortl(i + 1, t);)public string Sele

6、ctSort()int i, j, min;string mystr = nn;RecType tmp;for (i = 0; i length -1; i+)mystr += Hi=n + i.ToStringO + min = i;for(j = i + l;j length; j+)if (Rj.key Rmin.key) min=j;if (min != i)对左区间递归排序对右区间递归排序直接选择排序做第i趟排序/min记下目前找到的最小关键字所在的位置交换 Ri和 Rmintmp = Ri;Ri = Rmin;Rmin = tmp;)for (int k = 0; k length

7、; k+)mystr += Rk.key.ToString() + ” mystr += Mrnn;return mystr; )(3) 创建窗体应用程序,调用不同的排序方法,显示出排序过程,界面参考如下:操作步骤1 .建立顺序表愉入排序元素;32,25,64,58,12,45,15,80,63,20建立顺序表注意:关德字必须为数字,如输入:1, 4, 8, 5, 3环超过100个元素)操作步骤2编出顺序表32 25 64 58 12 45 15 80 63 20输出顺序表操作步骤3孑卡序修直接插入排序快速排序直接选择排序每调结果:1=1: 25 32 64 58 12 45 15 80 63

8、 20 i=2: 25 32 64 58 12 45 15 80 63 20 i=3: 25 32 58 64 12 45 15 80 63 20 i=4: 12 25 32 58 64 45 15 80 63 20 i=5: 12 25 32 45 58 64 15 80 63 20 i=6: 12 15 25 32 45 58 64 80 63 20 i=7: 12 15 25 32 45 58 64 80 63 如 i=8: 12 15 25 32 45 58 63 64 80 20 i=9: 12 15 20 25 32 45 58 63 64 80操作提示:数据排序完毕(4) 调试运行,并观察运行情况。八 实验分析1、分析程序的运行过程,并将核心代码、错误提示及纠错内容记录至实验报告册;2、不同的排序方法;3、不同排序方法的比较。九、课外自主实验1、编写希尔排序、堆排序、基数排序的代码,并通过应用程序调试运行。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁