/*
* 插入排序法
- 1.从第一个元素开始,该元素可认为已排序。
- 2.取出下一个元素,在排序好的元素序列中从后往前扫描
- 3.如果元素(已排序)大于新元素,将该元素移到下一位置
- 4.重复3.直到找到已排序的元素小于或等于新元素的位置
- 5.将新元素插入该位置后
- 6.重复2-5直到排序完成
*/
public class Insertsort {
/*
* 插入排序法
* 1.从第一个元素开始,该元素可认为已排序。
* 2.取出下一个元素,在排序好的元素序列中从后往前扫描
* 3.如果元素(已排序)大于新元素,将该元素移到下一位置
* 4.重复3.直到找到已排序的元素小于或等于新元素的位置
* 5.将新元素插入该位置后
* 6.重复2-5直到排序完成
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = new int[]{3,2,5,-1,12,-56,32,-24,11,5};
for (int i = 0; i < arr.length - 1; i++) { //外层循环控制比较次数,n个元素比较n-1次。
for (int j = i+1; j > 0; j--) {
if (arr[j] < arr[j -1]) {
int temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}else {
break;
}
}
}
for (int i : arr) {
System.out.print(i + " ");
}
}
}