将数组里的值减去z,再进行排序。
本人小白,是不是将冒泡算法里的 if(r[j].key>r[j+1].key)修改成 if(r[j].key-z>r[j+1].key-z)就ok了?考试急用,谢谢da'shen
/*冒泡排序算法如下:*/
void BubbleSort(RecordType r[], int length ) {
n=length; change=TRUE;
for ( i=1 ; i<= n-1 && change ;++i ) { //n为长度,i为右边已排序元素个数
change=FALSE;// 当i=n时,下面的循环跳出,change为假上面的循环也跳出了。
for ( j=1 ; j<= n-i ; ++j) // j为左边未排序元素个数(=n-i),
if (r[j].key> r[j+1].key ) {
x= r[j]; r[j]= r[j+1]; r[j+1]= x;
change=TRUE;
}
}
}