Skip to main content

Selection Sort in JAVA

What is selection sort?

It is a sorting technique that is based on the partitioning of array into two parts, sorted and unsorted.

The process is:-

1) Find minimum element in unsorted array.
2) Swap the element at the end of sorted array.

when i=0 we don't have any sorted array so element will be replaced from first element later the sorted array end will growas the index.

Steps:-


underline elements are sorted array, the length is increasing with each minimum element added at the end.

minimum element11
 11 25 12 22 64 
minimum element12
 11 12 25 22 64 
minimum element22
 11 12 22 25 64 
minimum element25
 11 12 22 25 64 
minimum element64
 11 12 22 25 64 

Program:-


package sorting;

public class SelectionSort {

 //function to print array
  public static void print(int[] arr)
  {
   for(int i=0;i<=arr.length-1;i++)
    System.out.print(" "+arr[i]);
   System.out.println(" ");
  }
  
  //function to swap elements
  public static int[] swap(int[] arr,int i, int j)
  {
   int temp;
   temp=arr[i];
   arr[i]=arr[j];
   arr[j]=temp;
   
   return arr;
  }
 
  //program to find minimum element in unsorted array( i to end)
  public static int min(int[] arr,int i)
  {
   int min=i;
   for(;i<=arr.length-1;i++)
   {
    if(arr[i]<arr[min])
    {
     min=i;
    }
   }
   System.out.println("minimum element"+arr[min]);
   return min;
   
  }
  
  public static void main(String[] args)
  {
   int[] arr={64,25,12,22,11};
   int min;
   for(int i=0;i<=arr.length-1;i++)
   {
    //find minimum element in unsorted array ( i to end)
    min=min(arr,i);
    //swap minimum element with then end of sorted array(i)
    swap(arr,min,i);
    //print the array
    print(arr);
   
   }
   
   
   
  }
  
  
  
}

Comments

.

Popular posts from this blog

Insertion Sort in JAVA

What is insertion sort?

It is a sorting technique that is based on the partitioning of array into two parts like selection sort, sorted and unsorted.

The process is:-

compare adjacent elements.
if(left > right)
Swap the element
{
check for sorted array whether it is still in sort manner(put j=i and loop in until j is not equal to zero)
- No
check for if(right<left)
swap
do it until at the end of position.
}

Implementation:-

Underline eleemnts are part of sorted arrayinside main array loop 142710333519424 (141027333519424 (here sorted array is distorted hence sorting has been done inside the loop) inside sorted array loop101427333519424 inside main array loop101427333519424 inside main array loop 101427333519424 inside main array loop101427333519424 inside sorted array loop 101427193335424 inside sorted array loop 101419273335424 inside main array loop 101419273335424 inside main array loop 101419273335424 inside sorted array loop101419273343542 inside…