算法基础——插入排序
2017-09-20 19:12
162 查看
思路
插入排序就像排一手扑克牌,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较。#伪代码 for j = 2 to A.length key = A[j] i = j - 1 while i > 0 and A[i] > key A[i+1] = A[i] i = i - 1 A[i+1] = key
Java实现
import java.util.*; /** 插入排序算法 */ public class Insertsort{ static void sort(int[] arr){ sort(arr,0,arr.length-1); } static void sort(int[] arr,int left,int right){ for(int j = left+1; j <= right; j++){ int key = arr[j]; int i = j - 1; while(i >= left && arr[i] > key) { arr[i+1] = a[i]; i--; } arr[i+1] = key; } } } public static void main(String[] args){ int[] arr = {1,2,6,4,5,3}; sort(arr); System.out.println(Arrays.toStirng(arr)); }
INSERTION-SORT 在数组 A=<31,41,59,26,41,58>上的 执行过程。
相关文章推荐
- 算法基础1—插入排序
- F#基础算法——插入排序
- 基础算法之排序(3)--插入排序
- 算法基础之插入排序,选择排序
- 算法基础之插入排序
- 基础算法--排序: 之插入排序
- 算法基础:排序(一)——选择排序、插入排序、Shell排序——Python实现
- 算法基础 (插入排序、合并排序算法)
- 数据结构基础算法整理归纳:插入排序(三)
- 算法基础 2.1插入排序
- 算法基础:排序(一)——选择排序、插入排序、Shell排序——Python实现
- java基础算法之插入排序
- 基础算法----找出集合中最大和值的子数组,插入排序,找出数组中出现最多的元素
- 基础算法 —— 插入排序
- 基础算法之插入排序
- 算法基础--插入排序递归版
- 基础算法-插入排序
- 算法基础之排序篇-插入排序
- 算法导论->算法基础->2.1插入排序 (从小到大)
- 【基础算法】-- 插入排序