Showing posts with label Search/Sorting Programs. Show all posts
Showing posts with label Search/Sorting Programs. Show all posts

Friday, 23 September 2016

Sort array of 10 strings

/* Sort array of 10 strings. */

#include<string.h>
#include<stdio.h>

int main()
{
int i,j;
char str[10][10],temp[10];
printf("Type 10 names :\n");
for(i=0;i<10;i++)
{
// gets(str[i]);
// fgets is a better option over gets to read multiword string .
fgets(str[i], 10, stdin);
}
for(i=0;i<10;i++)
{
for(j=0;j<10-1-i;j++)
{
if(strcmpi(str[j],str[j+1])>0)
{
strcpy(temp,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],temp);
}
}
}

printf("\nSorted Names :\n");
for(i=0;i<10;i++)
puts(str[i]);
return 0;
}

Insertion Sort

/* Insertion Sort */

#include<stdio.h>

int main()
{
int arr[10],i,j,new;
printf("Please enter 10 values:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

for(i=1;i<10;i++)
{
new=a[i];
for(j=i-1;j>=0&&new<a[j];j--)
{
a[j+1]=a[j];
}
a[j+1]=new;
}

printf("Sorted Array is:\n");
for(i=0;i<10;i++)
printf("%d\n",arr[i]);

return 0;
}

Selection Sort

/* Selection Sort */

#include<stdio.h>

int main()
{
int arr[10],i,j,k,t;
printf("Please enter 10 values:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

for(i=0;i<10;i++)
{
k=i;
for(j=i;j<10;j++)
{
if(a[k]>a[j])
k=j;
}
if(k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}

printf("Sorted Array is:\n");
for(i=0;i<10;i++)
printf("%d\n",arr[i]);

return 0;
}

Bubble Sort

/* Bubble Sort */

#include<stdio.h>

int main()
{
int arr[10],i,j,t;
printf("Please enter 10 values:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if (arr[j]>arr[j+1])
{
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}

printf("Sorted Array is:\n");
for(i=0;i<10;i++)
printf("%d\n",arr[i]);

return 0;
}

Binary Search

/* Binary Search */

#include<stdio.h>

int main()
{
int arr[10],i,max,min,mid,val,index;

printf("Please enter 10 values in ascending order:\n");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);

printf("\nEnter a value to be searched: ");
scanf("%d",&val);

max=9;
min=0;
index=-1;
while(min<=max)
{
mid=(max+min)/2;
if(val==arr[mid])
{
index=mid;
break;
}
if(arr[mid]>val)
max=mid-1;
else
min=mid+1;
}

if(index>=0)
printf("Value found in Array at %d location",index);
else
printf("Value not found in Array");
return 0;
}

Featured post

India’s Own Marketplace for Small Online Jobs

India’s Own Marketplace for Small Online Jobs: Empowering Freelancers and Small Businesses In recent years, India has seen a huge shift in ...