diff --git a/SelectionSort.java b/SelectionSort.java new file mode 100644 index 0000000..8b8a6a2 --- /dev/null +++ b/SelectionSort.java @@ -0,0 +1,42 @@ +import java.util.Arrays; +import java.util.*; + +public class SelectionSort { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("Enter array size:"); + int n = sc.nextInt(); + int[] arr = new int[n]; + System.out.println("Enter the array elements:"); + for (int i = 0; i < n; i++) { + arr[i] = sc.nextInt(); + } + System.out.println(Arrays.toString(selectionSort(arr))); + } + + static int[] selectionSort(int[] arr) { + for (int i = 0; i < arr.length; i++) { + int end = arr.length - 1 - i; + int max = max(arr, 0, end); + swap(arr, max, end); + } + return arr; + } + + static void swap(int[] arr, int first, int second) { + int temp = arr[first]; + arr[first] = arr[second]; + arr[second] = temp; + } + + static int max(int[] arr, int start, int end) { + int max = start; + for (int i = start; i <= end; i++) { + if (arr[max] < arr[i]) { + max = i; + } + } + return max; + } + +}