📄 5-2.c
字号:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define MAX 200
#define MaxQueueSize 200
typedef struct
{
int key;
}DataType;
#include"sort.h"
long cin, c;
int main()
{
int i, b;
int d[MAX/10], numOfD, temp;
DataType a[MAX], atemp[MAX];
srand((unsigned) time(NULL));
printf("第一列为移动次数, 第二列为比较次数\n");
while(1)
{
printf("\n请输入要比较的数据个数:");
scanf("%d",&b);
if(b==0)break;
for(i = 0; i <b; i++)
a[i].key=rand()%1000;
/*for(i = 0; i < b; i++)
printf("%8.d", a[i].key);
printf("\n");*/
cin=0;
c=0;
for(i = 0; i < b; i++)
atemp[i]=a[i];
InsertSort(atemp, b); //插入排序
printf("InsertSort:\t%ld %ld\n",cin, c);
cin=0;
c=0;
numOfD = 15;
temp=1;
for(i = 0; i < numOfD; i++)
{
d[i]=temp;
temp += 5;
}
for(i = 0; i < b; i++)
atemp[i]=a[i];
ShellSort( atemp, b, d, numOfD); //希尔排序
printf("ShellSort:\t%ld %ld\n",cin, c);
cin=0;
c=0;
SelectSort( atemp, b); //选择排序
printf("SelectSort:\t%ld %ld\n",cin, c);
cin=0;
c=0;
for(i = 0; i < b; i++)
atemp[i]=a[i];
HeapSort( atemp, b); //堆排序
printf("HeapSort:\t%ld %ld\n",cin, c);
cin=0;
c=0;
for(i = 0; i < b; i++)
atemp[i]=a[i];
Bubble( atemp, b); //冒泡排序
printf("BubbleSort:\t%ld %ld\n",cin, c);
cin=0;
c=0;
for(i = 0; i < b; i++)
atemp[i]=a[i];
QuickSort( atemp, 0, b-1); //快速排序
printf("QuickSort:\t%ld %ld\n",cin, c);
cin=0;
c=0;
for(i = 0; i < b; i++)
atemp[i]=a[i];
MergeSort( atemp, b); //归并排序
printf("MergeSort:\t%ld %ld\n",cin, c);
/*cin=0;
for(i = 0; i < b[t]; i++)
atemp[i]=a[i];
RadixSort( atemp, b[t], 5, 10); //基数排序
printf("RadixSort:\t%ld\n",cin);*/
getchar();
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -