time5 = (double)(finish - start)/ CLOCKS_PER_SEC ;
printf( \直接选择排序耗时%f seconds\\n\
case 6:{ start=clock();
heap_sort(s1); finish=clock();
time6 = (double)(finish - start)/ CLOCKS_PER_SEC ;
printf( \堆排序耗时%f seconds\\n\
case 7:{ start=clock();
merge_sort(s1);
finish=clock();
time7 = (double)(finish - start)/ CLOCKS_PER_SEC ;
printf( \二路归并排序耗时%f seconds\\n\
case 0:{ exit(0);} }print_record(s1);
}while (kk!=0); }/*MAIN*/
4.测试结果
12
(1)选择直接插入排序:
13
排序前本有30000个随机数显示,但数据太多,只截一部分图来表示。 排序后也一样,应有30000个排好顺序的整数显示,但由于数据过多,也只截一部分图来表示。
由图可知,直接插入排序耗时0.878000秒
14
(2)选择希尔排序:
排序前本有30000个随机数显示,但数据太多,只截一部分图来表示。 排序后也一样,应有30000个排好顺序的整数显示,但由于数据过多,也只截一部分图来表示。
由图可知,希尔排序耗时0.026000秒
15