算法笔记----选择排序
package com.example.math.wjy;
public class Code01 {
public static int[] gennerateArray(int len, int max) {
int[] arr = new int[len];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * max);
}
return arr;
}
public static void processess1(int[] arr) {
if (null == arr || arr.length < 2) {
return;
}
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
public static void processess2(int[] arr) {
if (null == arr || arr.length < 2) {
return;
}
for (int i = 0; i < arr.length - 1; i++) {
int minnum = i;
for (int j = i + 1; j < arr.length; j++) {
minnum = arr[minnum] < arr[j] ? minnum : j;
}
swap(arr, minnum, i);
}
}
public static void swap(int[] arr, int i, int j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
public static void main(String[] args) {
int[] arr = gennerateArray(100000, 100000);
long start = System.currentTimeMillis();
processess2(arr);
long end = System.currentTimeMillis();
System.out.println(end - start);
}
}