插入排序算法:
主要思想:将n个待排序的元素看成是一个有序列表和一个无序列表,开始时,有序列表有一个元素,无序了列表有n-1个元素,排序过程中每次从无序列表中取出第一个元素,与有序列表中 的元素比较,将它插入到有序列表中的适当位置,使之成为新的有序列表。
代码实现:
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = { 79, 56, 90, 4, 32, 27, 16, 88, 35 };
//插入排序
//对无序列表操作
for(int i=1;i<arr.length;i++){
int insertValue = arr[i];
//和前一个数比较的下标
int index = i-1;
while(index>=0&&insertValue<arr[index]){
//arr[index]向后移一位
arr[index+1] = arr[index];
//让index向前移
index--;
}
//插入适当的位置
arr[index+1] = insertValue;
}
//输出结果
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
主要思想:将n个待排序的元素看成是一个有序列表和一个无序列表,开始时,有序列表有一个元素,无序了列表有n-1个元素,排序过程中每次从无序列表中取出第一个元素,与有序列表中 的元素比较,将它插入到有序列表中的适当位置,使之成为新的有序列表。
代码实现:
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = { 79, 56, 90, 4, 32, 27, 16, 88, 35 };
//插入排序
//对无序列表操作
for(int i=1;i<arr.length;i++){
int insertValue = arr[i];
//和前一个数比较的下标
int index = i-1;
while(index>=0&&insertValue<arr[index]){
//arr[index]向后移一位
arr[index+1] = arr[index];
//让index向前移
index--;
}
//插入适当的位置
arr[index+1] = insertValue;
}
//输出结果
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}