import java.util.*;

public class SelectionSort {
	public static void main(String [] args) {
		int [] arr = setup(15);

		printWithLabel("Before", arr);

		sort(arr);

		printWithLabel("After", arr);
	}

	public static int [] setup(int howMany) {
		Random random = new Random();
		int [] arr = new int[howMany];

		for (int i = 0; i < arr.length; i++)
			arr[i] = random.nextInt(100) + 1;
		return arr;
	}

	public static void sort(int [] arr) {
		for (int i = 0; i < arr.length; i++) {
			int minPos = i;
			for (int j = i+1; j < arr.length; j++)
				if (arr[j] < arr[minPos]) {
					minPos = j;
				}
			if (minPos != i)
				swap(arr, i, minPos);
		}
	}

	public static void swap(int [] arr, int pos1, int pos2) {
		int t = arr[pos1];
		arr[pos1] = arr[pos2];
		arr[pos2] = t;
	}

	public static void printWithLabel(String label, int [] arr) {
		System.out.print(label+ ": {");
		for (int i = 0; i < arr.length; i++)
			System.out.print(arr[i] + (i < arr.length-1 ? ", " : ""));
		System.out.println("}");
	}
}

