插入排序

来源:互联网 发布:做淘宝直通车和刷流量 编辑:程序博客网 时间:2024/05/22 23:53

基本思想

在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

代码

public class ZhiJieChaRu {    public static void main(String[] args) {        int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};          int temp; //当前位的值        int j;        for (int i = 1; i < a.length; i++) {            temp = a[i];            j = i - 1;            //如果temp小于前一位,前一位的值赋给当前位置,在用temp向前依次比较            for (; j >= 0 && temp < a[j]; j--) {                a[j + 1] = a[j];            }            //j+1为temp的最终所在位置            a[j + 1] = temp;        }        for (int i = 0; i < a.length; i++) {            System.out.println(a[i]);        }    }}
0 0