小高兴 发表于 2013-11-28 00:06:57

求“假设有 1000个关键字为小于10000的整数的记录序列,请编写一种排序算法



求“假设有 1000个关键字为小于10000的整数的记录序列,请编写一种排序算法,要求以尽可能少的比较次数和移动次”的数据结构算法

猪猪BBUn咕咕 发表于 2013-11-28 19:23:08

不明白你想说什么?

哆拉b梦 发表于 2014-1-29 15:31:59

堆排序的话是排一万次左右,相比之下用大小10000的哈希表记录然后反定位也是10000次,但是容易得多。
int a= {0};
int b,rec = 1000;
for(i = 0; i < 1000; ++i)
{
    scanf("%d",&b);
    a += 1;
}
for(i = 0; i < 10000; ++i)
{
    while(a-->0)
    {
       printf("%d\n",a);
       rec -= 1;
    }
    if(rec == 0)
    {
      break;
    }
}大致是这个思想,没调试,你可以自己调调:lol:
页: [1]
查看完整版本: 求“假设有 1000个关键字为小于10000的整数的记录序列,请编写一种排序算法