Skip to main content

Sorting Techniques : Selection Sort , Bubble Sort , Insertion Sort

Sorting Techniques

1. Selection Sort:

Idea: The inner loop selects the minimum element in the unsorted array and places the elements in increasing order.

Time complexity: O(N 2 )

#include <iostream>

using namespace std;

int main() {   

int n;

    cin>>n;

  int arr[n];

   for(int i=0;i<n;i++){

 

       cin>>arr[i];

  }

 for(int i=0;i<n-1;i++){ 

    for(int j=i+1;j<n;j++){

           if(arr[j]<arr[i]){

                int temp =arr[j]; 

               arr[j]=arr[i];         

  arr[i]=temp;         

}        

 }  

  }for(int i=0;i<n;i++){     

 cout<<arr[i]<<" ";

   }

  return 0;

}

2. Bubble Sort:

Idea: if arr[i] > arr[i+1] swap them. To place the element in their respective position, we have to do the following operation N-1 times.

Time Complexity: O(N 2 )

#include <iostream>

using namespace std;

int main() {

    int n;   

cin>>n;

  int arr[n]; 

   for(int i=0;i<n;i++){ 

       cin>>arr[i];  

 }   

int counter=1;

    while(counter<n){      

for(int i=0;i<n-counter;i++){  

         if(arr[i]>arr[i+1]){

               int temp=arr[i+1];

              arr[i+1]=arr[i];  

            arr[i]=temp;        

   } 

      }counter++;   

  } 

 for(int i=0;i<n;i++){       

cout<<arr[i]<<" ";

   }

    return 0;

}

3. Insertion Sort:

Idea: Take an element from the unsorted array, place it in its corresponding position in the sorted part, and shift the elements accordingly.

Time Complexity: O(N 2 )

#include<iostream>

using namespace std;

int main(){

 int n;

 cin >> n;

  int arr[n];

  for(int i=0;i<n;i++){

    cin>>arr[i]; 

 }

  for(int i=1;i<n;i++){

  int cu=arr[i];  

int  j=i-1; 

  while(j>=0 && arr[j]>cu)

{

   arr[j+1]=arr[j];

  j--;

  

 }arr[j+1]=cu;

 } 

 for(int i=0;i<n;i++)

{

 cout<<arr[i]<<" ";

  }

 return 0;

}


Instagram 👇 

For more Queries

Comments

Post a Comment

Popular posts from this blog

Time and Space complexity : What does time and space complexity mean?

 Time and Space complexity                                  Time Complexity Time complexity of an algorithm quantifies the amount of time taken by an algorithm to run as a function of the length of the input. Types of notations 1. O-notation: It is used to denote asymptotic upper bound. For a given function g(n), we denote it by O(g(n)). Pronounced as “big-oh of g of n”. It also known as worst case time complexity as it denotes the upper bound in which algorithm terminates. 2. Ω-notation: It is used to denote asymptotic lower bound. For a given function g(n), we denote it by Ω(g(n)). Pronounced as “big-omega of g of n”. It also known as best case time complexity as it denotes the lower bound in which algorithm terminates. 3. !-notation: It is used to denote the average time of a program. Comparison of functions on the basis of time complexity It follows the following order in case of time complexit...