1 / 4
文档名称:

数据结构实验报告 实验六 排序算法.doc

格式:doc   页数:4
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告 实验六 排序算法.doc

上传人:wc69885 2014/1/8 文件大小:0 KB

下载得到文件列表

数据结构实验报告 实验六 排序算法.doc

文档介绍

文档介绍:昆明理工大学信息工程与自动化学院学生实验报告
( 201 —201 学年第一学期)
课程名称:数据结构开课实验室: 年月日
年级、专业、班

学号

姓名

成绩
实验项目名称
排序算法
指导教师

教师评语
教师签名:
年月日
:
排序算法,包括直接插入排序,希尔排序,冒泡排序,快速排序,直接选择排序,堆排序等等。
:
;

:
void InsertSort(DataType a[],int n) //直接插入排序
{
int i,j;
DataType temp; //temp是监视哨
for(i=0;i<n-1;i++) //依次插入a[2],,,a[n-1]
{
temp=a[i+1];
j=i;
while(j>-1 && <a[j].key) //查找a[i]的插入位置
{
a[j+1]=a[j]; //将关键字大于a[i].key的记录后移
j--;
}
a[j+1]=temp; //插入a[i]
}
}
void SelectSort(DataType a[],int n) //选择排序
{
int i,j,small;
DataType temp;
for(i=0;i<n-1;i++) //做n-1次选择排序
{
small=i;
for(j=i+1;j<n;j++) //在当前无序区选关键字最小的记录a[small]
if(a[j].key<a[small].key)small=j;
if(small!=i)
{
temp=a[i];
a[i]=a[small]; //交换a[i]和 a[small]
a[small]=temp;
}
}
}
void BubbleSort(DataType a[],int n) //冒泡排序
{
int i,j,flag=1;
DataType temp;
for(i=1;i<n && flag==1;i++) //做n-1次排序
{
flag=0;
for(j=0;j<n-1;j++) //从上往下扫描
{
if(a[j].key>a[j+i].key) //交换记录
{
flag=1;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
:
:
排序是数据处理中经常使用的一种重要运算。我们在以前程序设计的时候就接触过,但是经过这次上机实验,我对排序有了更深的认识。以下就是我对排序一些新的认识:
冒泡排序属于稳定排序,是一种借助“交换”进行排序的