直接插入算法

来源:互联网 发布:python insert(-1)函数 编辑:程序博客网 时间:2024/06/06 10:49
 
  1. package test;
  2. public class Insert {
  3.     public void sort(int[] data){ //定义参数为数组首地址
  4.        int i,j,temp;
  5.        for(i=0;i<data.length;i++){ //插入,降序
  6.         temp=data[i]; //temp为要插入的元素
  7.         j=i-1;                  
  8.         while(j>=0&&temp<data[j]) //从a[i-1]开始找比a[i]大的数(也就是找比temp小的数),同时把数组元素向后移
  9.         {
  10.          data[j+1]=data[j];
  11.          j--;
  12.         }
  13.       
  14.         data[j+1]=temp; //插入
  15.        
  16.         /*以下是打印每一次排序后的序列,与算法无关*/
  17.         for(int q=0;q<data.length;q++){
  18.           System.out.print(data[q]+" "); 
  19.           } 
  20.         System.out.println(); //换行
  21.        }
  22.        
  23.     }
  24.     public static void main(String[] args){
  25.        Insert insertSort=new Insert();
  26.        int[] a={1,6,5,3,8};
  27.        for(int i=0;i<a.length;i++)
  28.        System.out.print(a[i]+" ");
  29.        System.out.println("/n降序排序");
  30.        insertSort.sort(a); 
  31.       
  32.        System.out.println("/n after sort:");
  33.        for(int i=0;i<a.length;i++)
  34.         System.out.print(a[i]+" ");
  35.     }
  36. }
原创粉丝点击