排序-3-插入

来源:互联网 发布:公共场所网络上报 编辑:程序博客网 时间:2024/06/06 08:50

工具类方法:

package myDataStructrueADNDalgorith.three.arrSort;/** * 数组为模板排序算法中的一些公用的模板方法 * 创建人:曹雪坤 * 时间:2017年3月12日-上午10:15:02  * @version 1.0.0 * */public class Example {    /*     * 交换数组中的两个数据     */    public static void exch(int [] arr,int i,int index){        int change = arr[i];        arr[i] = arr[index];        arr[index] = change;    }    /*     * 遍历数组     */    public static void show(int[] arr){        System.out.println("遍历数组");        for(int i:arr){            System.out.print("  "+i+"  ");        }        System.out.println();    }}

排序:

package myDataStructrueADNDalgorith.three.arrSort;/* * 插入排序 *      思路: *          循环数组,每次循环的下标为i *          让下标为0到i之间的数有序 *  * 注意与希尔排序对照看(希尔排序就是按照每间隔为n的数组组成的一个新数组进行插入排序) */public class InsertSort {    public static void main(String[] args) {        int arr[] = {3,5,1,4,2,7,9,6,10,8};        System.out.println("插入排序");        InsertSort.sort1(arr);    }    public static void sort1(int[] arr){        for(int i=0;i<arr.length;i++){            int index = i;            //是下标从0到i+1之间的数有序            for(int k=i;k>=0;k-=1){                if(arr[index] > arr[k]){                    Example.exch(arr, index, k);                    index = k;                }            }            Example.show(arr);        }    }}
原创粉丝点击