数据结构实验报告_2.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 第 PAGE 4 页 共 NUMPAGES 4 页 仲恺农业工程学院实验报告纸 信息科学与技术 (院) 计算机科学与技术 专业 123 班 1 组 数据结构 课 学号 201310214306 姓名 刁忆考 实验日期 2013-12 实验10 内排序 一、实验内容 10.2设计一个程序exp10-2.cpp,实现希尔插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程 (1)数据结构类型描述 #include stdio.h #define MAXE 30 typedef int KeyType; typedef char InfoType[10]; (2)基本运算的函数功能和函数原型以及核心函数的设计 void ShellSort(RecType R[], int n) //希尔排序算法 (3)测试数据和运行结果 int i, k, n = 10; KeyType a[] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; RecType R[MAXE]; printf(\n); for ( i = 0; i n; i++ ) R[i].key = a[i]; printf( 初始关键字序列为: ); for ( k = 0; k n; k++ ) printf(%3d, R[k].key); printf(\n); ShellSort( R, n ); printf( 希尔排序后结果为: ); for ( k = 0; k n; k++ ) printf(%3d, R[k].key); printf(\n\n); 10.设计一个程序exp10-4.cpp实现快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程 (1)数据结构类型描述 #include stdio.h #define MAXE 30 typedef int KeyType; typedef char InfoType[10]; (2)基本运算的函数功能和函数原型以及核心函数的设计 void QuickSort(RecType R[],int s, int t) //队R[s]至R[t]的元素进行快速排序 (3)测试数据和运行结果 int i, k; n = 10; KeyType a[] = { 6, 8, 7, 9, 0, 1, 3, 2, 4, 5 }; RecType R[MAXE]; for ( i = 0; i n; i++ ) R[i].key = a[i]; printf(\n 初始关键字: ); for ( k = 0; k n; k++ ) printf(%4d, R[k].key); printf(\n); QuickSort(R, 0, n-1); printf( 快速排序后的最后结果为: ); for ( k = 0; k n; k++ ) printf(%4d, R[k].key); printf(\n); (4)分析和经验 10.6设计一个程序exp10-6.cpp实现堆排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程 (1)数据结构类型描述 #include stdio.h #define MAXE 30 typedef int KeyType; typedef char InfoType[10]; (2)基本运算的函数功能和函数原型以及核心函数的设计 void DispHeap(RecType R[], int i, int n) void Sift(RecType R[], int low, int high) void HeapSort(RecType R[], int n) (3)测试数据和运行结果 int i, k, n = 10; KeyType a[] = { 6, 8, 7, 9, 0, 1, 3, 2, 4, 5 }; RecType R[MAXE]; for ( i = 1; i = n; i++ ) R[i].key = a[i-1]; printf(\n 初始关键字: ); for ( k = 1; k = n; k++ ) printf(%3d, R[k].key); printf(\n); for ( i = n / 2; i = 1; i-- ) Sift(R, i, n); HeapSort(R, n); printf( 堆排序后的最终结果: ); for ( k = 1; k =

文档评论(0)

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

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

1亿VIP精品文档

相关文档