Skip to main content

Insertion Sort

/**
    Program Name: Insertion Sort

    Description: This Program Sorts an Array using Insertion Sort Algorithm

    Author:  Tauqirul Haque
      
*/

 #include <stdio.h>
#include <conio.h>

#define MAX 10

void insertionSort(int []);
void displayArray(int []);

void main()
{
    int array[MAX] = {-999, 78,3,567,99,34,65,34,12, 55};  //this first element is the sentinel
  
    printf("\nThe Element Before Sorting .. ");
    displayArray(array);
  
    insertionSort(array);
  
    printf("\nThe Element After Sorting ... ");
    displayArray(array);
  
    getch();
}

void insertionSort(int array[MAX])
{
    int i;
    for(i=2;i
    {
        int ptr = i-1;
        int temp = array[i];
      
        while(temp < array[ptr])
        {
            array[ptr+1]= array[ptr];
            ptr--;
        }
        array[ptr+1] = temp;
    }
}

void displayArray(int array[MAX])
{
    printf("\n");
    for(int i=1;i
    {
        printf("Array[%d] = %d \n",i,array[i]);
    }
}
   

Comments

Popular posts from this blog

Singly Linked List

/**     Program Name: Singly Linked List     Description: This Program is for Implemeting Singly Linked List     Author:  Tauqirul Haque         */ struct Linklist {     int item;     struct Linklist *next; }; typedef struct Linklist node; void insertAtBeginning(node **); void createAppendNode(node **); void insertInMiddle(node **); void deleteNode(node **); void displayNode(node **); void countNode(node **);  void searchElement(node **); void reverse(node **); void main() {     node *head = NULL;     int choice = 0;     while(choice != 9)     {             printf("\n\t\t\t1. Add Node At The Beginning ");     printf("\n\t\t\t2. Insert Element in the Middle ");     printf("\n\t\t\t3. Append New Node "); ...

BUBBLE SORT

/**     Program Name: BUBBLE SORT     Description: This Program sorts a Given Array in Ascending Order     Author:  Tauqirul Haque         */ #define SIZE 10 void bubbleSort(int data[SIZE]); void displayElement(int data[SIZE]); void main() {     int data[SIZE] = { 45,34,66,89,45,34,76,22,79, 12};         printf("\nThe Original Array Before Sorting ... ");     displayElement(data);         printf("\nArray After Sorting ... ");     bubbleSort(data);     displayElement(data);     } void displayElement(int data[SIZE]) {     int i;     for(i=0; i     {         printf("\nData[%d]  =  %d",i,data[i]);     }     printf("\n"); } void ...

FINDING FACTORIAL OF A NUMBER

/**     Program Name: FINDING FACTORIAL     Description: This Program finds a Factorial of a Given Number     Author:  Tauqirul Haque         */ long fact(long n); void main() {     long n;     printf("Enter N : ");     scanf("%d",&n);         if(n < 0)   //if its a neg number then changing the sign     {         n = -n;     }         printf("The fact of %ld  =  %ld \n\n",n,fact(n)); } long fact(long n) {     if(n==0 || n==1)     {         return 1;     }     else     {         return n*fact(n-1);     } }