全分求助!这个多关键字,每个关键字分别用折半插入排序后,结果很扭曲啊!快考试了啊!我还在编程
下面是代码!如果你不想看代码,可以听完描叙。要给记录排序,我想得到的结果是记录由小到大排列,每条记录有5个关键字。关键字1的地位>关键字2的地位>关键字3的地位>关键字4的地位>关键字5的地位。我用折半排序的方法,分别对记录排五次序。
结果的到的排序结果是记录的顺序是关键字1由小到大排列,关键字2由大到小排列。。。。以此类推。
这是为什么?
我想得到的结果是记录由小到大排列
//开始进行5趟插入排序 for (key_index=NUM_OF_KEY-1;key_index>=0;--key_index) { for (i=2;i<recnum+1;++i) { r[0]=r[i]; low=1;high=i-1; while (low<=high) { m=(low+high)/2; if (RecArray[r[0]].key[key_index]<=RecArray[r[m]].key[key_index]) { high=m-1; } else low=m+1; }//while for (j=i-1;j>=high+1;--j) { r[j+1]=r[j]; //记录后移 } r[high+1]=r[0]; }//for }//for