算法面经--直接插入排序

作者: 永不熄灭的火焰_e306 | 来源:发表于2020-06-12 21:23 被阅读0次

直接插入排序

一、算法思路与介绍

插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元素看成为一个有序表和一个无序表开始时有序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从序无表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。

插入排序1.png

二、算法实现

 public static void insertSort(int[] arr){
  int insertValue = 0; //待插入的数
  int insertIndex = 0; //待插入的索引下标
  for(int i =1;i<arr.length;i++){
  //定义待插入的数
  insertValue = arr[i];
  insertIndex = i-1;
  while(insertIndex>=0 && insertValue<arr[insertIndex]){
  arr[insertIndex + 1] = arr[insertIndex]; //后移
  insertIndex --;
  }
  if(insertIndex +1 !=i){
  arr[insertIndex +1]=insertValue;
  }

  }
 }

相关文章

  • 算法面经--直接插入排序

    直接插入排序 一、算法思路与介绍 插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元...

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

    排序算法(一)直接插入排序算法 1.基本概念  直接插入排序(Straight-Insertion-Sort)是一...

  • 插入排序算法实现

    排序算法是最常见,最基础的算法,作者文集中记录了两种排序算法(插入排序,归并排序) 插入排序算法实现很简单直接,附...

  • 【数据结构】【C#】013-插入类排序:🥇直接插入排序(稳定)

    插入排序:直接插入排序(稳定) 【 算法思想 】 直接插入排序是一种最基本的插入排序方法,其基本操作是将第 i 个...

  • 排序——插入排序

    业精于勤荒于嬉 插入排序包括:直接插入排序、折半插入排序、希尔排序(缩小增量排序) 一、直接插入排序 1. 算法思...

  • 2.1-插入排序-直接插入

    参考链接 插入排序:直接插入排序(Straight Insertion Sort) 白话经典算法系列之二 直接插入...

  • 排序

    本文记录几个基础的排序算法。排序算法分为插入排序、交换排序、选择排序等几大类。 插入排序 1. 直接插入排序 O(...

  • 基础算法(查找 , 排序)

    算法分析 渐进符号 - (O , Ω , θ) 查找算法 二分查找 - O(logn) 排序算法 直接插入排序 -...

  • 经典排序算法-希尔排序Shell sort

    一、希尔排序思想 希尔排序是基于插入排序的快速的排序算法,先分组后对每组进行直接插入排序,再分组再直接执行插入排序...

  • c语言实现希尔排序算法

    1.算法简介    希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。该方法又称缩...

网友评论

    本文标题:算法面经--直接插入排序

    本文链接:https://www.haomeiwen.com/subject/yoantktx.html