Insertion Sort in C


Insertion Sort.png

Insertion Sort

#include<stdio.h>

void insertionSort(int arr[],int n)
{
  int key,i,j;
  for (i=1;i<n;i++)
  {
    key = arr[i];
    j = i-1;
    
    while(j>=0 && arr[j]>key)
    {
      arr[j+1] = arr[j];
      j= j-1;
    }
    arr[j+1] = key;
    
  }
}


void printArray(int arr[],int n)
{
  for (int i=0;i<n;i++)
  {
    printf("%d ",arr[i]);
  }
  printf("\n");
}


int main()
{
  int n;
  scanf("%d",&n);
  int arr[n];
  
  for (int i=0;i<n;i++)
  {
    scanf("%d",&arr[i]);
  }
  
  printArray(arr,n);
  
  insertionSort(arr,n);
  
  printArray(arr,n);
}