package com.datastructure.sortingalgorithm;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
/**
* 选择排序
* 排序速度快于冒泡排序
*/
public class SelectionSort {
public static void main(String[] args) {
//定义一个十万个数据的数组,进行排序
int[] arr = new int[100000];
//添加数据
for (int i = 0; i <arr.length ; i++) {
arr[i] = (int)(Math.random()*100000);
}
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = simpleDateFormat.format(date);
System.out.println(dateStr);
selectionSort(arr);
Date date1 = new Date();
String dateStr1 = simpleDateFormat.format(date1);
System.out.println(dateStr1);
// int[] a = {8,2,1,2,5,4,8,4,3};
// selectionSort(a);
// System.out.println(Arrays.toString(a));
}
//选择排序
public static void selectionSort(int[] arr){
if (arr.length==0||arr.length==1){
return;
}
//数组大小减一轮排序
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;
}
}
arr[minIndex] = arr[i];
arr[i] = min;
}
}
}
选择排序
最新推荐文章于 2021-07-24 23:27:25 发布