简化的插入法排序。以下程序段A和B的功能都是:将一个给定的整数x插到原本按升序排列的整数序列中,使结果序列仍然按升序排列。
/* 程序段 B */
for (i = n-1; i >= 0; i--){
if(x < a[i]){
需自己填空
}else{
break;
}
}
需自己填空
n++;
问一下大家是怎么填的,不知道自己对不对。
for (i = n-1; i >= 0; i--){
if(x < a[i]){
a[i+1] = a[i];
}else{
break;
}
}
a[i+1] = x;
n++;
程序段B的空缺部分可以填下面这段代码:
for (j = n-1; j > i; j--)
a[j+1] = a[j];
a[i+1] = x;
这段代码将整数x插入到原本按升序排列的整数序列中,使结果序列仍然按升序排列。
供参考:
for (i = n - 1; i >= 0; i--) {
if (x < a[i]) {
a[i + 1] = a[i];//需自己填空
}
else {
break;
}
}
a[i + 1] = x; //需自己填空
n++;
不知道你这个问题是否已经解决, 如果还没有解决的话: