【无标题】

【无标题】,第1张

【无标题】
插入排序算法
public class InsertSort {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr = {3, 5, 7, 1, 8, 11, 9};    //定义数组
        doInsertSort(arr);                    //开始排序
    }
    
    //排序方法
    public static void doInsertSort(int[] arrays) {
        int len = arrays.length;             //获取数组的长度
        for (int i = 1; i < len; i++) {        //遍历数组,从1开始
            int j;                    //定义变量j
            int temp = arrays[i];            //临时存储当前的数字
            for (j = i; j > 0; j--) {        //遍历i之前的数字
                //如果前面的数字大于后面的,则把打的值赋到后边
                if (arrays[j - 1] > temp) {
                    arrays[j] = arrays[j - 1];                
                }else {
                //如果当前的数,不小于前面的数,那就说明不小于前面所有的数
                //因为前面已经是排好了序的,所以直接通出当前一轮的比较
                    break;
                }
            }
            arrays[j] = temp;     //把空缺位置的数字赋值为原有的值
        }
        insertSortPrint(arrays);                //打印
    }
    
    //
    public static void insertSortPrint(int[] arrays) {
        for (int i = 0; i < arrays.length; i++) {      //遍历
            System.out.print(arrays[i] + " ");    //打印,以空格隔开
        }
        System.out.println();                    //换行
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5672647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存