java 简单实现插入排序
排序原理
- 把所有的语速分为两组,已经排序的和未排序的;
- 找到未排序的组中的第一个元素,向已经排序的组中进行插入;
- 倒叙遍历已经排序的元素,一次和待插入的元素进行比较,知道找到一个元素小于等于插入元素,那么就把待插入元素放到这个位置,其他的元素向后移动一位。
package sort.insertion;
//插入排序
public class Insertion {
static int[] arr={1,5,9,6,4,7,2,3};
public static void main(String[] args) {
for (int i = 1; i <arr.length ; i++) {
for (int j = i; j >=0 ; j--) {
if(arr[j]<arr[j-1]){
exch(arr,j,j-1);
}else{
break;
}
}
}
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]);
}
}
public static void exch(int[] arr,int i,int j){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
插入排序的时间复杂度
N的2次方