Implementation of Sorting algorithms in C

, by Engineer's Vision


#include<stdio.h>
#include<conio.h>
void selection(int a[], int n);
void insertion(int a[], int n);
void bubble(int a[],int n);
void main()
{
    int a[50],n,i,s;
    clrscr();
        do
        {
        printf("\n 1.Insertion Sort.\t 2.Selection Sort.\t 3.Bubble Sort.\t 4.Quit.");
        printf("\n Enter Your Choice:");
        scanf("%d",&s);
        switch(s)
            {
            case 1:
            printf("\n Enter The No Of Elements:");
            scanf("%d",&n);
            printf("\n Enter The Elements Of The Array:");
            for(i=0;i<n;i++)
            scanf("%d",&a[i]);
            insertion(a,n);
            break;
            case 2:
            printf("\n Enter The No Of Elements:");
            scanf("%d",&n);
            printf("\n Enter The Elements Of The Array:");
            for(i=0;i<n;i++)
            scanf("%d",&a[i]);
            selection(a,n);
            break;
            case 3:
            printf("\n Enter The No Of Elements:");
            scanf("%d",&n);
            printf("\n Enter The Elements Of The Array:");
            for(i=0;i<n;i++)
            scanf("%d",&a[i]);
            bubble(a,n);
            break;
            }
        }
        while(s!=4);
}
void insertion(int a[], int n)
{
    int i,j,temp,k;
    printf("\n Unsorted Data:");
    for(k=0;k<n;k++)
    printf("%d\t",a[k]);
    for(i=1;i<n;i++)
    {
        temp=a[i];
        for(j=i-1;j>=0 && a[j]>temp;j--)
        a[j+1]=a[j];
        a[j+1]=temp;
        printf("\n (After Pass %d)",i);
        for(k=0;k<n;k++)
        printf("%d\t",a[k]);
    }
}
void selection(int a[],int n)
{
    int i,j,k,temp;
    printf("\n Unsorted Data:");
    for(k=0;k<n;k++)
    printf("%d\t",a[k]);
    for(i=0;i<n-1;i++)
    {
    k=i;
    for(j=i+1;j<n;j++)
    if(a[j]<a[k])
    k=j;
    if(k!=i)
    {
    temp=a[i];
    a[i]=a[k];
    a[k]=temp;
    }
    printf("\n (After Pass %d)",i+1);
    for(k=0;k<n;k++)
    printf("%d\t",a[k]);
    }
}
void bubble(int a[], int n)
{
    int i,j,k,temp;
    printf("\n Unsorted Data:");
    for(k=0;k<n;k++)
    printf("%d\t",a[k]);
    for(i=1;i<n;i++)
    {
        for(j=0;j<n-1;j++)
        if(a[j]>a[j+1])
        {
            temp=a[j];
            a[j]=a[j+1];
            a[j+1]=temp;
        }
    printf("\n (After Pass  %d)",i);
    for(k=0;k<n;k++)
    printf("%d\t",a[k]);
    }
}

OUTPUT
1.Insertion Sort.       2.Selection Sort.       3.Bubble Sort.  4.Quit.
 Enter Your Choice:1

 Enter The No Of Elements:5

 Enter The Elements Of The Array:65
54
43
32
21

 Unsorted Data:65       54      43      32      21
 (After Pass 1)54       65      43      32      21
 (After Pass 2)43       54      65      32      21
 (After Pass 3)32       43      54      65      21
 (After Pass 4)21       32      43      54      65
 1.Insertion Sort.       2.Selection Sort.       3.Bubble Sort.  4.Quit.
 Enter Your Choice:2

 Enter The No Of Elements:5

 Enter The Elements Of The Array:65
54
43
32
21

 Unsorted Data:65       54      43      32      21
 (After Pass 1)21       54      43      32      65
 (After Pass 2)21       32      43      54      65
 (After Pass 3)21       32      43      54      65
 (After Pass 4)21       32      43      54      65
 1.Insertion Sort.       2.Selection Sort.       3.Bubble Sort.  4.Quit.
 Enter Your Choice:3

 Enter The No Of Elements:5

 Enter The Elements Of The Array:65
54
43
32
21

 Unsorted Data:65       54      43      32      21
 (After Pass  1)54      43      32      21      65
 (After Pass  2)43      32      21      54      65
 (After Pass  3)32      21      43      54      65
 (After Pass  4)21      32      43      54      65
 1.Insertion Sort.       2.Selection Sort.       3.Bubble Sort.  4.Quit.
 Enter Your Choice:

0 comments: