插入排序:
如何理解:
在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。
实现代码:
package com.temp;
/**
* 插入排序
* @author Mr.L
*
*/
public class C {
/**
*
* @param array 排序的数组
* @param lenth 数组的最大长度
*/
public static void insert_sort(int array[],int lenth){
int temp;
for(int i=0;i<lenth-1;i++){
for(int j=i+1;j>0;j--){
if(array[j] < array[j-1]){
temp = array[j-1];
array[j-1] = array[j];
array[j] = temp;
}else{ //不需要交换
break;
}
}
//输出
for (int k = 0; k <array.length; k++) {
System.out.println(array[k]);
}
System.out.println("---------每次排序分界线---------");
}
}
public static void main(String[] args) {
// 定义数组 赋值
int [] array= {1,8,2,5,10};
//调用
insert_sort(array, 4);
}
}
输出:
1
8
2
5
10
---------每次排序分界线---------
1
2
8
5
10
---------每次排序分界线---------
1
2
5
8
10
---------每次排序分界线---------