vlambda博客
学习文章列表

八股文算法篇-插入排序


插入排序

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

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


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

公司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绵绵,

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

八股文算法篇-插入排序

如果喜欢本文,给个吧!