选择排序算法
随机产生80000个数进行排序,进行时间测试。
package com.wmq.demo01.sort;
import java.util.Arrays;
/**
* 选择排序
*/
public class SelectSort {
public static void main(String[] args) {
//int [] arr = {101,119,34,1,-1,9,21,47,5};
int arr[] = new int[80000];
for (int i = 0; i < 80000; i++) {
arr[i] = (int)(Math.random()*800000); //随机数范围[0,800000)
}
long start = System.currentTimeMillis(); //System函数记录时间
selectSort(arr);
long end = System.currentTimeMillis();
System.out.println("一共消耗了"+(end-start)+"毫秒");
}
public static void selectSort(int arr[]) {
for (int i = 0; i < arr.length - 1; i++) {
int min = arr[i];
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (min > arr[j]) {
min = arr[j];
minIndex = j;
}
}
if (minIndex!=i) { //如果minIndex没有变化不进行交换
arr[minIndex] = arr[i];
arr[i] = min;
}
//System.out.println(Arrays.toString(arr));
}
}
}