- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 =
您可能关注的文档
- 地图学实验报告.doc
- 2023年上半年教资考试综合素质(中学)真题与答案.doc
- 如何提高学校艺术教育质量和推进艺术教师队伍建设.doc
- 室内设计实习报告_3.doc
- 实验 远程控制.doc
- 格力的营销策略分析.doc
- 少儿口才小主持人15、金喇叭少儿口才提高版第十五课教案课件.ppt
- 物理仿真实验报告_3.doc
- 2007年全国硕士研究生入学统一考试英语一试题及解析.doc
- 服装道具管理规定.doc
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
文档评论(0)