插入排序

/**

 * @author @liugang

 *插入排序的思想

 *从第二个元素开始,因为左侧的数组为排序后的数组,

 *只要将当前元素插入到左侧数组的适当位置,就能保持数组为有序

 *然后处理第三个元素...直到最后一个元素

 */

public class Insertsort {

    private static int count = 0;

 

    public static void printAll(int[] a) {

       System.out.println("第" + (++count) + "次:");

       for (int i = 0; i < a.length; i++) {

 

           System.out.print(a[i] + " ");

       }

       System.out.println();

    }

 

    public static void Sort(int[] data) {

       //从第二个元素开始

       for (int i = 1; i < data.length; i++) {

           for (int j = i; j > 0; j--) {

              if (data[j - 1] > data[j]) {

                  int temp = 0;

                  temp = data[j - 1];

                  data[j - 1] = data[j];

                  data[j] = temp;

              }

           }

           printAll(data);

 

       }

 

       // printAll(data);// 打印结果

 

    }

 

    public static void main(String args[]) {

 

       int[] data = new int[10];

       for (int i = 0; i < data.length; i++) {

           data[i] = (int) (Math.random() * 100);

       }

       System.out.println("排序之前:");

       for (int i : data) {

           System.out.print(i + " ");

       }

       System.out.println();

       System.out.println("排序之后:");

       Sort(data);

    }

 

}

原文地址:https://www.cnblogs.com/jinzhengquan/p/1980245.html