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);
	}
}