• 直接插入排序算法(java)


    直接插入排序是将未排序的数据插入至已排好序序列的合适位置。

      具体流程如下:
      1、首先比较数组的前两个数据,并排序;
      2、比较第三个元素与前两个排好序的数据,并将第三个元素放入适当的位置;
      3、比较第四个元素与前三个排好序的数据,并将第四个元素放入适当的位置;
       ......
      4、直至把最后一个元素放入适当的位置。
     
    空间效率:使用了常数个辅助单元,空间复杂度为O(1)
    时间效率:最好情况下:表中元素已经有序,都只需比较一次而不用移动元素,时间复杂度情况是O(n)
                  最坏情况下:表中元素逆序,时间复杂度为n的平方。
    稳定性:直接插入排序是一个稳定的算法。
    适用性:直接插入算法适合顺序存储和链式存储。
    public  int[] sort(int[] A){
       int tmp;
       int j;
       for(int i=1; i<A.length; i++){
            tmp = A[i];       
            for(j=i-1; j>0; i--){   
              if(tmp >=A[j]){
                  break;
               }
               else{
                  A[j+1] = A[j];           //注意:容易误写成A[j+1]=A[i];
               }
           }
           A[j+1] = tmp;
       }
        return A;
    }    
  • 相关阅读:
    ios-pch文件的手动添加
    iOS远程消息推送自我整理版
    iOS远程消息推送
    苹果App store 2015最新审核标准公布(2015.3)
    App上线基本流程
    iOS中常用的正则表达式
    如何获取App当前版本号
    添加Appicon的方法
    键盘弹出
    iOS9适配中出现的一些常见问题
  • 原文地址:https://www.cnblogs.com/qianxinxu/p/6575477.html
Copyright © 2020-2023  润新知