-
-
[分享]世界上最快的排序(很幽默)
-
发表于:
2010-2-24 01:03
2544
-
在网上飘来飘去,看到这个题目“世界上最快的排序”,顿时很不服气。再看排序的名字叫做桶排序,感觉非常有喜感。于是研究了一下,写了段实验代码发上来。哈哈。不得不承认,这是一种非常幽默的排序算法,很佩服作者的思维!!!!
有心的话可以baidu一下“桶排序”,但是那解释太学术了。反正我除了“桶排序中的插人排序的期望运行时间为O(n)” 这句话以外,其余的都没看懂。。。
# include <iostream>
# include <malloc.h>
# include <time.h>
using namespace std ;
int main ()
{
int order[10000] = {0} ;
int *array, total, i ;
srand (time (0L)) ;
cout << endl << "你希望排序元素的个数:" ;
cin >> total ;
array = (int *)malloc (total * sizeof (int)) ;
cout << "随机生成排序前的数如下:" << endl ;
//随机生成元素值并打印
for (i = 0 ; i < total ; i++)
cout << (array [i] = rand () % 10000) << '\t' ;
//开始排序
for ( i = 0 ; i < total ; i++)
order [array[i]] ++ ;
//输出结果
cout << endl << "排序结果如下:" << endl ;
for ( i = 0 ; i < 10000 ; i++)
while (order[i]--) cout<<i<<'\t' ;
free (array) ;
return 0 ;
}
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法