java中在一个数组中插入一个新的值

    技术2022-05-11  58

    // 把关键字插入已经排好序的数组 a 中,由于 a 的大小不能变化,所以需要申请一个更大的空间,然后把插入 key a 数组 copy 到一个新的数组 b 中,输出插入后的数组。       static int [] insertArray( int a[], int key)     {        int i,j;        int b[];        i=a. length -1;        b= new int [a. length +1];//申请一个更大的空间               Arrays.sort(a);//使用java.util.Arrays.sort 方法对一个数组进行排序              // 找到插入位置i        while (i>=0 && key<a[i])            i--;        if (i<0)        {            b[0]=key;            for (j=1;j<=a. length ;j++)               b[j]=a[j-1];     //i<0说明key比a[]中所有值都小,所以插在数组最前面        }        else        {        for (j=0;j<=i;j++)        {            b[j]=a[j];    //a[0....i] copy 到b[0....i]        }        b[i+1]=key;        for (j=i+2;j<=a. length ;j++)            b[j]=a[j-1];        }        return b;                   }  

    最新回复(0)