zoukankan      html  css  js  c++  java
  • 算法之直接插入排序和希尔排序

    /**
         * 直接插入排序从第二个元素开始
         * 直接插入排序关键在于如何找到插入的位置(在找的过程向后移动排在它之后的元素
         * @param list
         */
        private static void insertSort(int[] list){
            int i,j,temp;
            //直接插入排序从第二个元素开始
            for(i = 1; i < list.length; i++){
                //插入的目标元素
                temp = list[i];
                for(j = i-1 ;j >= 0&& list[j] > temp; j--){
                    list[j+1] = list[j];
                }
                //j+1就是找到的插入位置,插入即可
                list[j+1] = temp;
            }
        }
        private static void shellSort(int[] list){
            int gap = list.length/2;
            int i,j,temp;
            while(gap >=1){
                for(i = gap ;i <list.length;i++){
                    temp = list[i];
                    for(j = i-gap ; j >=0 && list[j] > temp;j=j-gap){
                        list[j+gap] = list[j];
                    }
                    list[j+gap] =temp;
                }
                gap = gap/2;
            }
        }
  • 相关阅读:
    ubuntu10官方镜像安装硬盘自动分区失败的问题
    ubuntu10的pci扩展卡驱动安装失败后检查方法
    day7集合
    day6字符编码
    day5 dict
    day4 list,tuple
    day2 int,bool,str
    day1
    函数一
    注册登录
  • 原文地址:https://www.cnblogs.com/fengyan20150508/p/7840388.html
Copyright © 2011-2022 走看看