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

How to check if a number is prime in C++ | How to generate Armstrong numbers in C++?

How to check if a number is prime in C++  Prime Numbers Prime numbers are numbers which have only 2 distinct factors i.e 1 and the number itself. Eg. 2,3,5,7,19 etc. Ques1. Write a program to check if a number is prime or not. #include <iostream> #include<cmath> using namespace std; int main() { int n; cin>>n; bool flag=0; for(int i=2;i<=sqrt(n);i++){ if(n%i==0){ cout<<"Non-prime"<<endl; flag=1; break; } } if(flag==0){ cout<<"prime"<<endl; } return 0; } How to generate Armstrong numbers in C++ Armstrong Numbers Armstrong numbers are numbers which have their sum of cube of individual digits equal to the number itself. E.g 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153. #include <iostream> #include<math.h> using namespace std; int main() { int n; cin>>n; int sum=0; int originaln=n; while(n>0){ int lastdigit= n%10; sum+= pow(lastdigit,3); n=n/10; } if(sum==originaln){ cout<<"Armstrong number"...

Loops in C++ : What is loop and types of loop in C++?

 Loops In computer programming, loops are used to   repeat a block of code  . For example, let's say we want to show a message 1000times , Then instead of writing the print statement 1000 times, we can use a loop. Type of loops 1. For loop 2. While loop 3. Do while loop For loop  For loop uses an external variable to control the execution. A for loop takes into account the                                           Initialization Condition checking Incrementation In its syntax itself. The syntax is shown below:- For(initialization;condition;incrememt){ //body } While loop  Imagine we had to print “Hello World” 100 times or n-number of times. Would it be wise to write cout << “Hello World\n” 100  times. While loops help us automate this. Sometimes, the loop also uses an external initialization and incrementation logic to control how many times t...