插入排序基本思想:
插入排序,就是把一组乱序的数据,依次拿出一个,放入到一组已经排好序的数据中的正确的位置。又可以分为:①直接插入排序、②折半插入排序、③二路插入排序、④表插入排序、⑤希尔排序
一、直接插入排序
1.基本思想:相对比较简单的一种排序方法,就是按照概念一步一步的操作,可以使用for循环实现
假设按照从小到大的顺序排序(1)从第二个数据(下标为1的数据)开始,一直到最后一个数据结束,每次取出一个数据。(2)比较第一步的数据和它前一个位置的数据,如果大于前一个位置的数据, 则交换两者。再开始和前面的数据依次比较,并和比它大的数据进行交换,因为前面的数据已经有序,则找到第一个比它小的数据后就退出。
2.直接插入排序过程:
3.java代码:
public int[] insertionSort(int[] array){ for(int i = 0;i < array.length - 1;i++){ for(int j = i + 1; j > 0;j--){ if(array[j] < array[j - 1]){ array[j] = array[j] ^ array[j - 1]; array[j - 1] = array[j] ^ array[j -1]; array[j] = array[j] ^ array[j - 1]; }else{ break; } } } return array; }