简化的插入法排序pta练习

简化的插入法排序。以下程序段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++;

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^