#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
//--------------------------------------------------------------------------
void main()
{
int a[10],n,choice;
int read_array(int []);
void
print_array(int [],int);
void
bubble_sort(int [],int);
void
select_sort(int [],int);
void
insert_sort(int [],int);
textcolor(10);
while(1)
{
clrscr();
printf("\n\n\t
********* MENU ******** ");
printf("\n\n\t
1> BUBBLE SORT");
printf("\n\n\t
2> SELECTION SORT");
printf("\n\n\t
3> INSERTION SORT");
printf("\n\n\t
4> EXIT");
printf("\n\n\t
ENTER YOYR CHOICE :: ");
scanf("%d",&choice);
switch(choice)
{
case 1:n=read_array(a);
printf("\n\n\t THE ARRAY ELEMENTS ARE :: ");
print_array(a,n);
bubble_sort(a,n);
printf("\n\n\t THE SORTED LIST IS :: ");
print_array(a,n);
break;
case 2:n=read_array(a);
printf("\n\n\t THE ARRAY ELEMENTS ARE :: ");
print_array(a,n);
select_sort(a,n);
printf("\n\n\t THE SORTED LIST IS :: ");
print_array(a,n);
break;
case 3:n=read_array(a);
printf("\n\n\t THE ARRAY ELEMENTS ARE :: ");
print_array(a,n);
insert_sort(a,n);
printf("\n\n\t THE SORTED LIST IS :: ");
print_array(a,n);
break;
case 4:printf("\n\n\t PRESS ESC KEY TO EXIT");
if(getch()==27)
exit(0);
break;
}
getch();
}
}
//--------------------------------------------------------------------------
int read_array(int a[])
{
int n,i;
printf("\n\n\t
ENTER THE ARRAY LENGTH :: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\n\n\t
ENTER THE ELEMENT [%d] :: ",i);
scanf("%d",&a[i]);
}
return(n);
}
//--------------------------------------------------------------------------
void print_array(int a[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d
\t",a[i]);
}
//--------------------------------------------------------------------------
void bubble_sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;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\n\t
PASS %d :: ",i+1);
print_array(a,n);
}
}
//--------------------------------------------------------------------------
void select_sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
printf("\n\n\t
PASS %d :: ",i+1);
print_array(a,n);
}
}
//--------------------------------------------------------------------------
void insert_sort(int a[],int n)
{
int i,j,temp;
for(i=1;i<n;i++)
{
temp=a[i];
for(j=i-1;temp<a[j] && j>=0;j--)
a[j+1]=a[j];
a[j+1]=temp;
printf("\n\n\t
PASS %d :: ",i);
print_array(a,n);
}
}
//--------------------------------------------------------------------------