数组依然有序,求看下程序问题在哪儿?在有序数组中插入一个数

Posted 5aafa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组依然有序,求看下程序问题在哪儿?在有序数组中插入一个数相关的知识,希望对你有一定的参考价值。

有若干整数按从小到大顺序放在数组中,用户输入一个数插入到此数组中,数组中的数依然按从小到大排列。求大佬看一下这个程序哪里有问题?
#include<stdio.h>
#include<stdlib.h>
void inserer(int *s,int x,int *n){
    int i,j=0;
    while(j<*n && s[j]<x) j++;
    for(i=(*n)-1;i>=j;i--) s[i+1]=s[i];
    s[i]=x;
    *n=(*n)+1;
}
void output(int *s,int *n){
    int i;    for(i=0;i<*n;i++) printf("%d  ",s[i]);
    printf("\n");
}
int main(void){
    int s[10]={1,6,7,10,14,18,22,29,36,47},x;
    int n=10;    printf("Entrez un chiffre : ");
    scanf("%d",&x);    
    printf("Le tableau precedent : ");
    output(s,&n);
    inserer(s,x,&n)
    printf("Le nouveau tableau : ");
    output(s,&n);
    return EXIT_SUCCESS;
}

假如输入12,运行结果:
Entrez un chiffre : 12
Le tableau precedent : 1  6  7  10  14  18  22  29  36  47
Le nouveau tableau : 1  6  7  12  14  14  18  22  29  36  48  12  9900928  0  4199400  0  0  0  46  0  4225568  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

--------------------------------http://huyunsong1314.blog.163.com/

以上是关于数组依然有序,求看下程序问题在哪儿?在有序数组中插入一个数的主要内容,如果未能解决你的问题,请参考以下文章

26删除有序数组中的元素,数组仍然有序

C语言 对一个已排序的数组中插入一个数,依然保持有序输出

习题1.9 有序数组的插入 (20分)

C程序:一维数组x中的若干个数已按从小到大的顺序有序;在主函数中输入一个数,调用一个insert函数将其插

1.合并两个数组,并保持仍然有序。2.删除合并后数组中的重复元素

有序数组中的线性搜索 - Java