算法-->插入排序

插入排序是通过比较 和插入来实现排序

  • 首先对数组的前两个数据进行从小到大的排序
  • 接着将第三个数据与排好的两个数进行比较,将第三个数据插入到合适的位置
  • 然后,将第四个数据插入已经排好序的前三个数据中
  • 不断从重复上述 的过程,知道最后把最后一个数据插入到合适的位置,最后就完成了对原始数组从小到大的排序。
package 插入排序;

public class Charu {
static final  int SIZE=10;
static void insertionSort(int[]a) {
    int i,j,t,h;
    for(i=1;i1;
        while(j>=0&&t1]=a[j];
            j--;
        }
        a[j+1]=t;
        System.out.print("第"+i+"步排序结果:");//输出每次的排序结果 
        for(h=0;hout.print(" "+a[h]);
        }
        System.out.print("\n");
    }
}
public static void main(String[]args) {
    int[] shuzu=new int[SIZE];
    int i;
    for(i=0;iint)(Math.random()*(100+1));//初始化数组
    }
    System.out.print("排序前的数组为:\n");
    for(i=0;iout.print(shuzu[i]+" ");
    }
    System.out.print("\n");
    insertionSort(shuzu);
    System.out.print("排序后的数组为:\n");
    for(i=0;iout.print(shuzu[i]+" ");
    }
    System.out.print("\n");
}
}

算法-->插入排序_第1张图片

你可能感兴趣的:(Java->数据结构和算法,算法(java))