- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多种算法排序(国外英语资料)
多种算法排序(国外英语资料)
# stdio.h in
# stdlib.h in
# time.h in
# dos.h in
# windows.h in
# conio.h in
# define maxsize 一个用作示例的小顺序表的最大长度 100 / * * /
typedef struct {
int r [maxsize + 1); / * r [0] 闲置或用作哨兵单元 * /
int length; / * 顺序表长度, 除去哨兵的点 * /
sqlist}; / * 顺序表类型 * /
typedef sqlist heaptype;
int time _ test [3], [5] = {{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}};
void heapsort (heaptype * h);
void heapadjust (heaptype * h, int s, int m)
void qsort (sqlist * l, int low, int high);
int partition (sqlist * l, int low, int high);
void bubblesort (sqlist * l, int k);
void print (heaptype l);
void role (sqlist * l);
void show _ tim _ test ();
void show _ menu ();
int main ()
{
heaptype l [5];
int i, totaltimecs, flag = 1, choose = - 1;
char to _ array [maxsize];
large integer _ freq;
large _ integer start, end; / * 用于每次排序的开始和结束的cup的时间 * /
queryperformancefrequency ( freq);
/ * role the array * /
/ / randomize ();
while (flag = = - 1)
{
for (i = 0; i 5; i + +)
{
printf (第% d组排序前: \ n, i + 1);
vitamin (a l [i]);
}
printf (\ n数据产生显示完成, 按任意键继续!);
getch ();
system (cls);
show _ menu ();
in the
{
printf (please enter the choose (only 1 -- 5):);
scanf (% s, choose _ array);
choose = atoi (choose _ array);
if (! (choose = = 1 | | choose = = 2 | | choose = = 3 | | choose = = 4 | | choose = = 5) printf (the error to choose again. );
} while (! (choose = = 1 | | choose = = 2 | | choose = = 3 | | choose = = 4 | | choose = = 5));
/ * call the function insertsort that sort the numbers * /
switch (choose)
{
case 1:
for (i = 0; i 5; i + +)
{
queryperformancecounter ( start);
heapsort (a l [i]);
queryperformancecounter ( );
totaltimecs = (int) (end.quadpart-start.quadpart) * 1 / freq.quadpart); / / 将运行产生的时间乘以1000000, 便于显示、比较
tim _ test [0] [i] = totaltimecs;
printf (\ n n第% d组 , i + 1);
print (l [i]);
printf (\ n此组数据排序运行时间为:% d, tim _ test [0] [i]);
}
printf (\ n按任意键产生新的数据, 进入下一组的排序算法的测试!);
getch ();
choose = - 1; system (cls); break;
case 2:
for (i = 0; i 5; i + +)
{
queryperformanceco
文档评论(0)