加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

插入排序

发布时间:2020-12-15 00:43:02 所属栏目:C语言 来源:网络整理
导读:= 0; j--) { if (array[j] > currentVal) { array[j + 1] = array[j]; position -= 1; } else { break; } } array[position] = currentVal; } } public static void main(String[] args) { int[] array = { 3,-1,-8,2,1 }; insertSort(array); for(int i = 0
= 0; j--) {
                if (array[j] > currentVal) {
                    array[j + 1] = array[j];
                    position -= 1;
                } else {
                    break;
                }
            }
            array[position] = currentVal;
        }
    }
public static void main(String[] args) {
    int[] array = { 3,-1,-8,2,1 };
    insertSort(array);
   for(int i = 0 ;i<array.length;i++){
       System.out.print(array[i]);
   }
}

}

插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应的位置并插入。

算法步骤:

  • 将待排序序列的第一个元素看作一个有序序列,把第二个元素到最后一个元素当成是未排序序列;

  • 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置,如果相等,插入其后;

max 时间复杂度: O(n2) min时间复杂度:n

最简单最基本的排序算法,并不是最优,特点是简单,不需要额外的工作空间,元素少的时候工作好。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读