[排序算法,插入排序]--直接插入排序

原创 2017年01月03日 21:00:25
public class InsertPaixu {
    public static void test(int[] a){
        if(a.length==1){
            System.out.print(Arrays.toString(a));
        }else {
            for (int i = 1; i < a.length; i++) {
                int j = i - 1;
                int temp = a[i];
                while (a[i] < a[j] && j>0) {
                    j--;
                }
                for (int k = i; k >= j + 1; k--) {
                    a[k] = a[k - 1];
                }
                a[j] = temp; 
            }
            System.out.print(Arrays.toString(a));
        }
    }
    public static void main(String args[]){
        test(new int[]{0,9,1,3,2,0,0,-1});
    }
}

时间复杂度 O(n2),空间复杂度O(1)
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

排序算法-直接插入排序

直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。 大致思路就是:把数组中...

直接插入排序的C实现

  • 2013-05-16 11:20
  • 495B
  • 下载

排序算法3——直接插入排序

直接插入排序的平均复杂度是 \(O(n^2)\),因此应用场景较少。直接插入排序的思路是: 每次处理一个数据,将其插入到一个已经排好序的子序列中,直到数据处理完毕。下面给出一个动画示例:未完待续。。...

直接插入排序

  • 2014-03-25 15:22
  • 1.02MB
  • 下载

直接插入排序

  • 2015-10-06 22:02
  • 1.01MB
  • 下载

排序算法之直接插入排序

一、介绍 直接插入排序是最简单的一种排序,最坏情况下时间复杂度为O(n2),最好情况下时间复杂度为O(n),平均为O(n2). 二、算法思想 当要对序列中一个元素(设元素下标为j)进行排序时,遍历这个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)