可以这样子做插入排序吗

来源:互联网 发布:淘宝客服招聘骗局 编辑:程序博客网 时间:2024/05/04 12:43

插入排序的思想是在一个有序的数组中插入一个数,使原来的数组依然有序。就是当(num>a[i] && num<a[i+1])时在a[i]与a[i+1]之间插入num。但是如果直接在原来的数组中插入,数组下标就会溢出,是否可以从新创建一个数组了存储它呢?

 

 

public class Test {
 public static void main(String[] args) {

         int [] a = {0,1,2,3,4,5,6,7,9,10,11,12};
         int []c = new int[a.length+1];
         int b =8;
         //将b插入有序数组a中,并将新的数组转存数组c中
         int temp;
         for (int i = 0; i < a.length; i++) {
          if(b>a[i]){
           c[i]=a[i];
          }
          if(b>a[i] && b <a[i+1]){
           
          c[i+1]=b;
         
          }
          if(b<a[i]){
           c[i+1]=a[i];
          }
   
  }
  for (int i = 0; i < a.length+1; i++) {
   System.out.print(c[i]+"  ");
   
  } 
   
  
 }

}

 

原创粉丝点击