美文网首页
直接插入排序(实现从小到大和从大到下的排序)

直接插入排序(实现从小到大和从大到下的排序)

作者: 小小飞的救赎 | 来源:发表于2018-12-14 15:44 被阅读0次

    实现直接插入排序的方法类

    package com.hcc.util;
    
    /**
     * 直接插入排序
     * @author hcc
     *
     */
    public class DirectInsertSort {
        
        /**
         * 从小到大排序
         * @param arr
         * @param length
         */
        public static void sortingMinToMax(int[] arr,int length) {
            for(int i = 1;i < length;i++){
                int j;
                int temp = arr[i];
                for(j=i-1;j >=0 && arr[j] > temp;j--) {
                    arr[j+1] = arr[j];
                }
                //因为上面循环中是j--  所以现在的j为-1  所以要加1
                arr[j+1] = temp;
            }
        }
            
            /**
         * 从大到小排序
         * @param arr
         * @param length
         */
        public static void sortingMaxToMin(int[] arr,int length) {
            for(int i=1;i < length;i++) {
                int temp = arr[i];
                int j;
                for(j = i-1;j >= 0 && arr[j] < temp;j--) {
                    arr[j+1] = arr[j];
                }
                arr[j+1] = temp;
            }
        }
    }
    

    测试类

    public class Test {
        public static void main(String[] args) {
    
            int[] arr = {69,65,70,90,37,92,6,28,54,20};
            System.out.println("原始数据:");
            printSortData(arr);
            System.out.println();
            System.out.println("直接插入排序:");
            directInsertSortTest(arr);      
        }
        
        /**
         * 直接插入排序测试方法
         * @param arr
         */
        public static void directInsertSortTest(int[] arr) {
            DirectInsertSort.sortingMinToMax(arr, arr.length);
            printSortData(arr);
        }
        
        /**
         * 打印输出方法
         * @param arr
         */
        public static void printSortData(int [] arr) {
            int arrLength = arr.length;
            for(int i = 0;i < arrLength;i++) {
                System.out.print(arr[i]+" ");
            }
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:直接插入排序(实现从小到大和从大到下的排序)

          本文链接:https://www.haomeiwen.com/subject/nleghqtx.html