📄 5-1.c
字号:
#include<stdio.h>
#define MAX 200
#define MaxQueueSize 200
typedef struct
{
int key;
}DataType;
#include"sort.h"
long cin;
int main()
{
int i, t=7;
int b[]={0, 150, 150, 150, 150, 150, 150, 150};
int d[MAX/10], numOfD, temp;
DataType a[MAX], atemp[MAX];
srand((unsigned) time(NULL));
while(t)
{
for(i = 0; i <b[t]; i++)
a[i].key=rand();
for(i = 0; i < b[t]; i++)
printf("%d ", a[i].key);
printf("\n");
printf("Number: %d\n",t);
cin=0;
for(i = 0; i < b[t]; i++)
atemp[i]=a[i];
InsertSort(atemp, b[t]); //插入排序
printf("InsertSort:\t%ld\n",cin);
cin=0;
switch(t)
{
case 7:
numOfD = 2;
temp=1;
for(i = 0; i < numOfD; i++)
{
d[i] = temp;
temp += 2;
}
break;
case 6:
numOfD = 3;
temp=1;
for(i = 0; i < numOfD; i++)
{
d[i]=temp;
temp += 3;
}
break;
case 5:
numOfD = 5;
temp=1;
for(i = 0; i < numOfD; i++)
{
d[i]=temp;
temp += 3;
}
break;
case 4:
numOfD = 8;
temp=1;
for(i = 0; i < numOfD; i++)
{
d[i]=temp;
temp += 3;
}
break;
case 3:
numOfD = 10;
temp=1;
for(i = 0; i < numOfD; i++)
{
d[i]=temp;
temp += 3;
}
break;
case 2:
numOfD = 12;
temp=1;
for(i = 0; i < numOfD; i++)
{
d[i]=temp;
temp += 3;
}
break;
case 1:
numOfD = 15;
temp=1;
for(i = 0; i < numOfD; i++)
{
d[i]=temp;
temp += 3;
}
break;
default: printf("error!\n");
}
for(i = 0; i < b[t]; i++)
atemp[i]=a[i];
ShellSort( atemp, b[t], d, numOfD); //希尔排序
printf("ShellSort:\t%ld\n",cin);
cin=0;
SelectSort( atemp, b[t]); //选择排序
printf("SelectSort:\t%ld\n",cin);
cin=0;
for(i = 0; i < b[t]; i++)
atemp[i]=a[i];
HeapSort( atemp, b[t]); //堆排序
printf("HeapSort:\t%ld\n",cin);
cin=0;
for(i = 0; i < b[t]; i++)
atemp[i]=a[i];
Bubble( atemp, b[t]); //冒泡排序
printf("BubbleSort:\t%ld\n",cin);
cin=0;
for(i = 0; i < b[t]; i++)
atemp[i]=a[i];
QuickSort( atemp, 0, b[t]-1); //快速排序
printf("QuickSort:\t%ld\n",cin);
cin=0;
for(i = 0; i < b[t]; i++)
atemp[i]=a[i];
MergeSort( atemp, b[t]); //归并排序
printf("MergeSort:\t%ld\n",cin);
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);
t--;
getchar();
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -