实验8 内排序
- 格式:docx
- 大小:42.90 KB
- 文档页数:4
实验报告
一、实验目的
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); } 五、实验小结 附本次实验情况的总结及心得体会