当前位置:文档之家› 实验8 内排序

实验8 内排序

实验8 内排序
实验8 内排序

实验报告

一、实验目的

1、掌握插入排序、选择排序、交换排序、归并排序等各种排序方法的基本思想并能用C/C++语言实现。

2、掌握各种排序方法的特点及适用情形,并能在解决实际问题的过程中灵活选用不同的排

序方法。

3、掌握各种排序方法的操作过程及其依据。

二、实验环境

PC微机,Windows,DOS,Turbo C或Visual C++

三、实验内容

1、调试并运行实验指导里的示例代码,仔细阅读、认真理解代码含义,对程序结果进行分析

2、比较直接插入排序法、简单选择排序、希尔排序的思想,并编程实现这几种排序方法。

四、实验步骤

1、调试并运行实验指导里的示例代码,仔细阅读、认真理解代码含义,对程序结果进行分析

附程序运行结果图,及分析内容(该内容需删除)

2、比较直接插入排序法、简单选择排序、希尔排序的思想,并编程实现这几种排序方法。附程序源代码,运行结果截图(该内容需删除)

#include

#include

#include

#include

#define MAX 20

typedefintKeyType;

typedef char InfoType[10];

typedefstruct

{

KeyType key;

InfoType data;

}RecType;

voidInsertSort(RecType R[],int n)

{

inti,j,k;

RecType temp;

for(i=1;i

{

temp=R[i];

j=i-1;

while(j>=0 &&temp.key

{

R[j+1]=R[j];

j--;

}

R[j+1]=temp;

printf(" i=%d ",i);

for(k=0;k

printf("%3d",R[k].key);

printf("\n");

}

}

voidPrintArray(RecType R[],int n)

{

int i;

for(i=0;i

printf("%3d",R[i].key);

printf("\n");

}

void main()

{

inti,n=10,cord;

RecTypeR[MAX],S[MAX];

srand(time(0)); for (i=0; i

S[i].key=100*rand()/RAND_MAX;

PrintArray(S,n);

for(i=0;i

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

InsertSort(R,n);

printf("最后结果:");

PrintArray(R,n);

}

五、实验小结

附本次实验情况的总结及心得体会

相关主题
文本预览
相关文档 最新文档