Open In App

Java Program for Selection Sort

Improve
Improve
Like Article
Like
Save
Share
Report

The selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from the unsorted part and putting it at the beginning.

Basic Principle of Selection Sort

The algorithm works by maintaining two subarrays in a given array:

  1. The subarray is already sorted.
  2. Remaining subarray which is unsorted.

In every iteration of the selection sort, the minimum element (considering ascending order) from the unsorted subarray is picked and moved to the sorted subarray.

Java Selection Sort

Algorithm for Selection Sort

Implementation of Selection Sort in Java is mentioned below:

Step 1: Array arr with N size
Step 2: Initialise i=0 
Step 3: If(i<N-1) Check for any element arr[j] where j>i and arr[j]<arr[i] then Swap arr[i] and arr[j]
Step 4: i=i+1 and Goto Step 3
Step 5: Exit

Program to Implement Selection Sort Java

Java




// Java program for implementation
// of Selection Sort
  
// Driver Class
class SelectionSort {
    void sort(int arr[])
    {
        int n = arr.length;
  
        // One by one move boundary of unsorted subarray
        for (int i = 0; i < n - 1; i++) {
            // Find the minimum element in unsorted array
            int min_idx = i;
            for (int j = i + 1; j < n; j++) {
                if (arr[j] < arr[min_idx])
                    min_idx = j;
            }
  
            // Swap the found minimum element with the first
            // element
            int temp = arr[min_idx];
            arr[min_idx] = arr[i];
            arr[i] = temp;
        }
    }
  
    // Prints the array
    void printArray(int arr[])
    {
        int n = arr.length;
        for (int i = 0; i < n; ++i)
            System.out.print(arr[i] + " ");
        System.out.println();
    }
  
    // main function
    public static void main(String args[])
    {
        SelectionSort ob = new SelectionSort();
        int arr[] = { 64, 25, 12, 22, 11 };
  
        ob.sort(arr);
        System.out.println("Sorted array");
        ob.printArray(arr);
    }
}


Output

Sorted array
11 12 22 25 64 

Complexity of the Above Method

Time Complexity:  O(n2)
Auxiliary Space: O(1)

Please refer complete article on Selection Sort for more details!



Last Updated : 10 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads