The following is a program for selection, insertion and bubble sort. If you have any doubts please let me know.
#include<stdio.h>
void basd(int[],int);
void insasd(int[],int);
void selasd(int[],int);
int i,j,k,temp;
main()
{
int
ch,a[100],i,j,n;
printf("Enter the number of elements:");
scanf("%d",&n);
printf("Enter the array elements:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
do
{
printf("\nMenu:\n1.bubble\n2.selection\n3.insertion\n4.Exit\n");
printf("Enter your choice:");
scanf("%d",&ch);
switch(ch)
{
case 1:
basd(a,n);
break;
case 2:
selasd(a,n);
break;
case 3:
insasd(a,n);
break;
case 4:break;
default:printf("Wrong choice!");
break;
}
}while(ch!=4);
}
void selasd(int b[],int n)
{
int
i,j,temp,a[50],k;
printf("\nSELECTION SORT\n");
printf("Unsorted
array:\n");
for(i=0;i<n;i++)
printf("%d ",b[i]);
printf("\n");
for(i=0;i<n;i++)
a[i]=b[i];
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[j]<a[i])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
printf("\nAfter Selection Sort:");
for(i=0;i<n;i++)
printf(" %d",a[i]);
}
void insasd(int b[],int n)
{
int
a[50];
printf("\nINSERTION SORT\n");
printf("Unsorted array:\n");
for(i=0;i<n;i++)
printf("%d ",b[i]);
printf("\n");
for(i=0;i<n;i++)
a[i]=b[i];
for(i=1;i<n;i++)
{
temp=a[i];
j=i-1;
while(temp<a[j])
{
a[j+1]=a[j];
j=j-1;
}
a[j+1]=temp;
printf("\n");
}
printf("\nSorted array is:");
for(i=0;i<n;i++)
{
printf(" %d ",a[i]);
}
}
void basd(int b[],int n)
{
int
i,j,temp,a[50],k;
printf("\nBUBBLE SORT\n");
printf("Unsorted array:\n");
for(i=0;i<n;i++)
printf("%d ",b[i]);
printf("\n");
for(i=0;i<n;i++)
a[i]=b[i];
for(i=0;i<n;i++)
{
for(j=0;j<(n-i)-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("\nAfter Bubble Sort");
for(i=0;i<n;i++)
printf(" %d",a[i]);
printf("\n");
}
No comments:
Post a Comment