插入排序InsertionSort
算法思路:
- 给定的数组,初始时候假设第一个元素是有序的,其余记录为无序序列;
- 从第二个元素开始,按照元素的大小,将当前处理的元素插入到其之前的有序序列中;
- 重复以上步骤,直至最后一个元素,排序完成。
动图演示:
JAVA代码实现:
public class IntertSort {
public static void insertSort(int arr[]){
for(int i=1;i<arr.length;i++){//外层循环控制次数
for(int j =i;j>0;j--){//内循环控制有序序列元素之间的大小比较
if(arr[j]<arr[j-1]){
int tmp = arr[j];
arr[j]=arr[j-1];
arr[j-1]=tmp;
}
}
}
}
public static void main(String[] args) {
int[] a ={8,4,5,9,0,3,2,6,1,7};
insertSort(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
三人行,必有我师焉。欢迎指正。