数据结构:选择排序(Selection sort)
原创
©著作权归作者所有:来自51CTO博客作者请叫我大虾的原创作品,请联系作者获取转载授权,否则将追究法律责任
package com.sortbasic;
import java.util.Random;
public class SelectionSortGenerate {
// 数组
private static int[] arr = null;
// 随机生成数组
// 生成有n个元素的随机数组,每个元素的随机范围为[rangeL, rangeR]
public static int[] generateRandomArray(int n, int rangeL, int rangeR){
int[] arr = new int[n];
for(int i=0;i<n;i++){
arr[i] = new Random().nextInt(rangeR-rangeL)+rangeL;
}
return arr;
}
// 选择排序
static void selectionSort(int arr[], int n){
for(int i=0;i<n;i++){
// 寻找[i,n)区间里的最小值
int minIndex = i;
for(int j=i+1; j<n; j++){
if(arr[j] < arr[minIndex]){
minIndex = j;
}
}
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
// 打印数组
static void printArray(int arr[], int n) {
for(int i=0; i<n; i++){
System.out.println(arr[i]+" ");
}
}
public static void main(String[] args){
arr = generateRandomArray(100, 0, 10000);
selectionSort(arr,100);
printArray(arr,100);
}
}