import java.util.Random;
public class sort {
static void bubSort(int[] a) {
int leg = a.length;
for (int i = 0; i < leg - 1; i++) {
for (int j = 0; j < leg - 1; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
static void inSort(int[] a){
int leg =a.length;
for (int i=1;i<leg;i++){
for (int j=i;j>0&&a[j]<a[j-1];j--){
int temp = a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
static void secSort(int[] a){
int leg =a.length;
for (int i =0;i<leg-1;i++){
int max =i;
for (int j=i+1;j<leg;j++){
if (a[max]>a[j]){
max=j;
}
}
if (i!=max){
int temp=a[i];
a[i]=a[max];
a[max]=temp;
}
}
}
public static void main(String[] args) {
Random rand1 = new Random();
int[] a = new int[88888];
int[] b = new int[88888];
int[] c = new int[88888];
for (int i=0;i<a.length;i++){
a[i]=rand1.nextInt(100000);
b[i]=a[i];
c[i]=a[i];
}
long time1=System.currentTimeMillis();
bubSort(a);
long time2=System.currentTimeMillis();
System.out.println("冒泡排序的时间为:"+(time2-time1));
secSort(b);
long time3=System.currentTimeMillis();
System.out.println("选择排序的时间为:"+(time3-time2));
inSort(c);
long time4=System.currentTimeMillis();
System.out.println("插入排序的时间为:"+(time4-time3));
}
}
冒泡排序的时间为:16949
选择排序的时间为:3730
插入排序的时间为:4194
三种排序都没有进行优化。