直接插入排序直接插入排序
兰州城市学院实验报告 院、系:信息工程学院
计算机科学与技术姓 名 赵晓斌 学号 20090801050918 专业、班级 072班 课程名称 数据结构及算法 实验室名称 软件实验室 实验名称 直接插入排序存储结构及其实现 日期、时间 2009年12月26日 同组者 无 天气 晴 气压 —— 室(气)温 —— 实验报告内容:
1(实验目的:
本次实验的主要目的是:(1)理解直接插入排序的概念;(2)掌握直接插入排序存储结构的特点和数据结构的定义;(3)熟练掌握直接插入排序存储结构上的实现;(4)通过直接插...
直接插入排序
兰州城市学院实验
院、系:信息工程学院
计算机科学与技术姓 名 赵晓斌 学号 20090801050918 专业、班级 072班 课程名称 数据结构及算法 实验室名称 软件实验室 实验名称 直接插入排序存储结构及其实现 日期、时间 2009年12月26日 同组者 无 天气 晴 气压 —— 室(气)温 —— 实验报告内容:
1(实验目的:
本次实验的主要目的是:(1)理解直接插入排序的概念;(2)掌握直接插入排序存储结构的特点和数据结构的定义;(3)熟练掌握直接插入排序存储结构上的实现;(4)通过直接插入排序的实际应用,提高学生
和解决实际问
的能力。
2(实验内容:
本实验的内容包括:
(1)掌握直接插入排序存储结构的基本操作。
(2)主控程序设计;
3(实验要求:
(1)各基本操作设计要求如下:
, void InsSort(RecordType r[], int length)
功能:对记录数组r做直接插入排序,length为数组中待排序记录的数目。
4(实验程序清单:
#include
#include
typedef int KeyType;
typedef int OtherType;
typedef struct
{
KeyType key;
OtherType other_data;
}RecordType;
void InsSort(RecordType r[], int length)
/* 对记录数组r做直接插入排序,length为数组中待排序记录的数目*/
{
int i,j;
for (i=2; i<=length; i++)
1 第 页,共 3 页
{
r[0]=r[i]; /*将待插入记录存放到监视哨r[0]中*/
j=i-1;
while (r[0].key< r[j].key ) /* 寻找插入位置 */
{
r[j+1]= r[j];
j=j-1;
}
r[j+1]=r[0]; /*将待插入记录插入到已排序的序列中*/
}
} /* InsSort */
void main()
{
int i,j;
RecordType r[20];
int len;
printf("请输入待排序记录的长度:");
scanf("%d",&len);
for(i=1;i<=len;i++)
{
printf("请输入第%d个记录元素:",i);
fflush(stdin);
scanf("%d",&j);
r[i].key = j;
}
for(i=1;i<=len;i++)
printf("%d ",r[i].key);
printf("\n");
InsSort(r,len);
for(i=1;i<=len;i++)
printf("%d ",r[i].key);
printf("\n");
}5.实验程序执行结果;
2 第 页,共 3 页
6(执行结果的分析:
先输入进行直接插入排序元素的个数,再输入每个元素,最后进行直接插入排序。 7. 试验心得及收获:
通过直接插入排序,了解了什么叫做直接插入排序,怎样直接插入排序。
教师意见
成绩 批改日期 教师姓名
3 第 页,共 3 页
本文档为【直接插入排序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。