package com.xiaoqing;
import java.util.*;
class sortstd{
public static void main(String args[]){
//创建一个度度为40000的数组
float arr[];
arr=new float[40000];
for(int i=0;i<40000;i++){
float tmp=(float)Math.random()*1000000;
arr[i]=tmp;
}


//比较两种排序的时间
//选择排序
Choise choise = new Choise();

Calendar can=Calendar.getInstance();
double times=0;
times=(double) can.getTimeInMillis();

choise.sort(arr);

can=Calendar.getInstance();
times=can.getTimeInMillis()-times;
System.out.println("选择排序时间:"+times);

//冒泡排序
Bubble bubble = new Bubble();

times=0;
times=(double) can.getTimeInMillis();

bubble.sort(arr);

can=Calendar.getInstance();
times=can.getTimeInMillis()-times;
System.out.println("冒泡排序时间:"+times);


}
}

class Choise
{
//选择排序法
public void sort(float arr[]){
float tmp;
for(int i=0;i<arr.length-1;i++){

//选择当前为最小数
int minIndex=i;
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[minIndex]){
minIndex=j;
}
}
//将后面小的数移动 到前面来
tmp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=tmp;
}

/*for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}*/
}
}

class Bubble
{
//冒泡排序法
public void sort(float arr[]){
float tmp;
for(int j=0;j<arr.length-1;j++){
for(int i=0;i<arr.length-1-j;i++){
if(arr[i+1]<arr[i]){
tmp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=tmp;
}
}
}
/*for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}*/
}
}