当前位置 : 主页 > 编程语言 > c++ >

java直接插入排序

来源:互联网 收集:自由互联 发布时间:2021-06-30
java直接插入排序的另一种形式,觉得很简洁易懂 详细分析过程查看:http://blog.csdn.net/maoyuanming0806/article/details/78175732直接插入排序的优化方案就是希尔排序,看我的上一个代码片段:
java直接插入排序的另一种形式,觉得很简洁易懂
详细分析过程查看:http://blog.csdn.net/maoyuanming0806/article/details/78175732

直接插入排序的优化方案就是希尔排序,看我的上一个代码片段:java实现希尔排序



        public static void directSort(int[] arr) {  
          
        int waitInsert;         //等待插入的数  
        int i,j;            //i表示当前待插入数下标;j表示本次被比较的有序数位置  
          
        for(i = 1; i < arr.length; i++) {  
            waitInsert = arr[i];    //得到本轮待插入的数  
            j = i - 1;      //比较位置初始化,也就是有序序列的最后一个位置,从后往前  
              
            //若大于或等于等待插入的数值大小,则该数右移,然后进行下一次比较  
            while(j > -1 && arr[j] >= waitInsert) {  
                arr[j + 1] = arr[j];  
                j--;  
            }  
            //插入的位置一定是上一次比较的数的位置,也就是j+1的位置。(注意到j--的时机即可理解)  
            arr[j + 1] = waitInsert;  
        }  
    }
网友评论