插入排序
插入排序
###代码演示
import java.util.Arrays;
public class xuan_ze {
public static void main(String[] args) {
int[] a = {4,6,8,7,9,2,10,1};
for (int i = 0;i < a.length-1;i++){
int min = i;
for (int j = i+1;j < a.length;j++){
if (a[min] > a[j]){
min = j;
}
}
if (a[min] < a[i]){
int k = a[i];
a[i] = a[min];
a[min] = k;
}
}
System.out.print(Arrays.toString(a));
}
}
###下面是用八十万数据测试
import java.text.SimpleDateFormat;
import java.util.Date;
public class cha_ru_Test {
//输出排序前后的时间,看看大概需要花多久
public static void main(String[] args){
SimpleDateFormat startTime = new SimpleDateFormat("yyyy:MM:dd:HH:mm:ss");
System.out.println("排序开始时间:"+startTime.format(new Date()));
sort();
SimpleDateFormat endTime = new SimpleDateFormat("yyyy:MM:dd:HH:mm:ss");
System.out.println("排序结束时间:"+endTime.format(new Date()));
}
public static void sort(){
//测试80万个数据的排序
int[] arr = new int[800000];
for (int index = 0; index < 800000; index++) {
arr[index] = (int)(Math.random() * 80000);
}
for (int i = 1; i < arr.length; i++) {
int j = i;
while (j > 0){
if (arr[j] < arr[j-1]){
int temp ;
temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
//System.out.println(Arrays.toString(arr));
j--;
}else {
break;
}
}
}
//System.out.println(Arrays.toString(arr));
}
}

浙公网安备 33010602011771号