文档介绍:Sorting multiple algorithms (多种算法排序)
stdio. h > in <
stdlib. h > in <
time, h > in <
dos. h > in <
windows, h > in
choose = - 1; system ("cis"); break:
case 2:
for (i = 0; i < 5; i + +)
{
queryperformancecounter (& start);
QSort (L [我],[我]1, Lo 长度);
QueryPerformanceCounter (结束); totaltimecs = (int)((结束。quadpart 开始。QuadPart) * 1000000 / freq, quadpart);
time test [ 1 ],[我]=totaltimecs;
printf ( "\n \n 第%(1 组”,我+ 1 );
打印(1 [ i ]);
printf ( "\n此组数据排序运行时间为:%d\n" , time test [ 1 ], [我]);
}
printf ( "\n按任意键产生新的数据,进入下一组的排序算法的测 试! \n");
getch();
选择=1;系统(“CLS”);中断;
案例3:
对于(i = 0; i < 5; i +)
{
QueryPerformanceCounter (开始); 冒泡排序(L [我],我[我]。长度+ 1);
QueryPerformanceCounter (结束);
totaltimecs = (int)((结束。quadpart 开始。QuadPart) * 1000000 / freq, quadpart);
time test [ 2 ],[我]=totaltimecs;
printf ( "\n \n 第%(1 组”,我+ 1 );
打印(1 [ i ]);
printf ( "\n此组数据排序运行时间为:%d\n" , time test [ 2 ], [我]);
}
printf ( "\n按任意键产生新的数据,进入下一组的排序算法的测
试! \n");
getch();
系统(“CLS”);
选择二1;中断;
案例 4: show time test () ; getch();系统(“华彩");断裂;/ / 在显示时间后将调用clrscr函数清除正文模式窗口 案例5:标志二0;选择二1;中断;
无效 show_menu () printf ( "\n请在下列选项中选择一种排序方法或者显示测试时间 或者退出”);
printf ( "\n \n 1 堆排序\n");
printf ( "2 快速排序\n” );
printf ( "3 冒泡排序\n");
printf ( "4 显示排序时间\n");
printf ( "5 退出\n");
}
无效 show time test () int, j;
双和=0,平均=0;
printf ( "\ n 结果\n");
对于(i = 0; i < 3; i +)
{
总和二0; //为每一中算法的三次运行时间
对于(j = 0; j<5; j + +)
( printf ( "% 6d” , time test [我][J ]);总和+ = time test [我][J ]; }
平均数=5;
printf ( “% 10. 2f” ,平均);
printf ( "\n");
}
}
无效的初始化(sqlist * L)
为(i = 1; i〈为+ 1 ; i++)
L—R [我]=rand() % 200-100;
1 ->长度二最大尺寸;
为(i = 1; i〈为+ 1 ; i++)
{
printf ( "% 6d” , L—R [我]);
如果(0 = i % 10)
printf ( "\n");
}
}
无效的打印(heaptype L)
{
int i;
printf (“数据排序后:\n"); 为(i = 1; i〈为+ 1 ; i++)
printf ( “% 6d”,左右[我]);
如果(0 = i % 10)
printf ( "\n");
}
}
无效的 HeapSort (heaptype * H)
{
对顺序表H进行堆排序*/ /*
int,温度;
对于(长度=2; i = 0);
一i) / * H->r[l. . . . H->legth] built the big top of the heap.
H