八股文算法篇-插入排序

Posted 大佬孙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八股文算法篇-插入排序相关的知识,希望对你有一定的参考价值。


插入排序

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

简单的理解,就是分两个队伍,将乱序的元素一个一个拿出来,放在有序的队伍中去!


八股文算法篇-插入排序算法描述

公司5个员工,进行年龄排序 [24,22,21,30,27]

1、首先,所有员工站在墙的右边

八股文算法篇-插入排序

2、先把员工A叫到墙的左边

八股文算法篇-插入排序

3、再叫员工B过来,和员工A进行比较,看看应该站在第一个员工的左边还是右边(排序),B比A小,则A后移一个位置,B插入

八股文算法篇-插入排序

4、再叫员工C过来,和队伍最右边的A比较,比A小,A后移,C再和比较,比B小,B后移,插入

八股文算法篇-插入排序

5、再叫员工D过来,和队伍最右边的A比较,比A大,则插入A的右边

八股文算法篇-插入排序

6、再叫员工E过来,和队伍最右边的D比较,比D小,D后移,E和A比较,比A大,则插入A的右边

八股文算法篇-插入排序

到此,排序结束!


八股文算法篇-插入排序

public int[] insertSort(int arr[]) { int len = arr.length; int preIndex, current; for (int i = 1; i < len; i++) { preIndex = i - 1; current = arr[i]; while (preIndex >= 0 && arr[preIndex] > current) { arr[preIndex + 1] = arr[preIndex]; preIndex--; } arr[preIndex + 1] = current; } return arr;}

八股文算法篇-插入排序

何为凡人,何为仙,

岂闻朝华望何年,

回首过往,bug绵绵,

道不尽仙凡殊途,尽人间。

八股文算法篇-插入排序

如果喜欢本文,给个吧!


以上是关于八股文算法篇-插入排序的主要内容,如果未能解决你的问题,请参考以下文章

八股文算法篇-插入排序

八股文算法篇-选择排序

排序算法篇--之直接插入排序

希尔排序算法

算法篇插入排序与希尔排序Java版

在路上---学习篇Python 数据结构和算法 -- 冒泡排序选择排序插入排序