题目如下:
求出插入后的数组
已知有个升序的数组,要求插入一个元素,该数组顺序依然是升序,比如:
[10,12,45,90],添加23 后, 数组为 [10,12,23,45,90]
public class the_h01 {     public static void main(String[] args) {                                    int[] arr={10,12,45,90};         int num = 23;                                                                                                                                       int[] new_arr = new int[arr.length+1];                  for (int i=0;i<arr.length ;i++ ) {             new_arr[i]=arr[i];         }                  arr = new int[new_arr.length];         for (int i=0;i<arr.length ;i++ ) {             arr[i]=new_arr[i];         }         new_arr = null;         arr[arr.length-1] = num;
                            for (int i=1;i<arr.length-1 ;i++ ) {             int index = -1;             for (int j=1;j<arr.length-i+1 ;j++ ) {                                  if (arr[j]<arr[j-1]) {                     int numx = arr[j];                     arr[j] = arr[j-1];                     arr[j-1] = numx;                     index = i;                 }             for (int ix=0;ix<arr.length ;ix++ ) {                 System.out.print(arr[ix]+" ");             }             System.out.println("");
              }             if (index==-1) {                 System.out.println("-------");                 break;             }         }
 
      } }
 
  | 
 
当我听完老师的解释后,有些被震撼到了。这就是……算法的魅力?
public class the_h01 {     public static void main(String[] args) {                                    int[] arr={10,12,45,90};         int num = 23;                                                      
                   int[] new_arr = new int[arr.length+1];                  int index = -1;                  for (int i=0;i<arr.length ;i++ ) {             if (num<arr[i]) {                 index = i;                 break;             }         }         if (index==-1){                                       index=arr.length;         }                  for (int i=0,j=0;i<new_arr.length ;i++ ) {                          if (index!=i) {                 new_arr[i]=arr[j];                 j++;             } else {                 new_arr[i]=num;             }         }         for (int i=0;i<new_arr.length ;i++ ) {                 System.out.print(new_arr[i]+" ");             }     } }
  | 
 
