数据结构内排序实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的

1、了解内排序都是在内存中进行的。

2、为了提高数据的查找速度,需要对数据进行排序。

3、掌握内排序的方法。

二、实验内容

1、设计一个程序exp10—实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序

过程。

(1)源程序如下所示:

n-1]按递增有序进行直接插入排序

{

int i,j,k;

RecType temp;

for (i=1;i

{

temp=R[i];

j=i-1; i-1]中找R[i]的插入位置

while (j>=0 &&

{

R[j+1]=R[j]; ey的记录后移

j--;

}

R[j+1]=temp; ey);

printf("\n");

}

}

void main()

{

int i,k,n=10;

KeyType a[]={9,8,7,6,5,4,3,2,1,0};

RecType R[MAXE];

for (i=0;i

R[i].key=a[i];

printf("初始关键字: "); ey);

printf("\n");

InsertSort(R,n);

printf("最后结果: "); ey);

printf("\n");

}

(2)运行的结果如下图所示:

2、设计一个程序exp10—实现希尔插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序

过程。

(1)源程序如下所示:

n-1]分别插入各组当前有序区中

{

j=i-d;

while (j>=0 && R[j].key>R[j+d].key)

{

temp=R[j]; ey);

printf("\n");

d=d/2; ey=a[i];

printf("初始关键字: "); ey);

printf("\n");

ShellSort(R,n);

printf("最后结果: "); ey);

printf("\n\n");

}

(2)结果如下图所示:

3、设计一个程序exp10—实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。

(1)源程序如下所示:

ey

{

temp=R[j]; ey); ey);

printf("\n");

}

}

void main()

{

int i,k,n=10;

KeyType a[]={9,8,7,6,5,4,3,2,1,0};

RecType R[MAXE];

for (i=0;i

R[i].key=a[i];

printf("初始关键字: "); ey);

printf("\n");

BubbleSort(R,n);

printf("最后结果: "); ey);

printf("\n");

}

(2)结果如下图所示:

相关文档
最新文档