什么是插入排序?
同样,插入排序会涉及到两个区域:
插入排序,在无序区域内根据顺序取出每一个元素X。在有序区域内从后往前寻找合适元素X的位置,保证插入后,元素X与有序区域内的其他元素依然组成有序区域。
我想用一组数据来阐述插入排序的过程。元素6处于无序区域内,除了元素6以外的其他元素处于无序区域内。
...
依次类推。
最后我们使用Java代码来展示上述的算法。
1 private static void sort() { 2 3 Integer[] data = {6,3,2,1,8,9,7,5}; 4 5 for(int i=1; i<data.length; i++) { 6 7 //无序区域中,最左边的元素 8 int compare = data[i]; 9 //有序区域中,最右边的元素 10 int m = i - 1; 11 12 while(m >= 0 && data[m] > compare) { 13 data[m+1] = data[m]; 14 m--; 15 } 16 data[m+1] = compare; 17 } 18 19 20 }
原文:https://www.cnblogs.com/behindyou/p/10609995.html