(DS-6)
6A.Write a program to implement merge sort.
#include<stdio.h>
void mergesort(int a[],int i, int j);
void merge(int a[],int i1,int j1,int i2,int j2);
int main()
{
int a[30],n,i;
printf("Enter No of Elements : ");
scanf("%d", &n);
printf("Enter Array Elements : ");
for(i=0;i<n;i++)
scanf("%d", &a[i]);
mergesort(a,0,n-1);
printf("\n Sorted Array is : ");
for(i=0;i<n;i++)
printf("\t %d",a[i]);
return 0;
}
void mergesort(int a[],int i, int j)
{
int mid;
if(i<j)
{
mid=(i+j)/2;
mergesort(a,i,mid);
mergesort(a,mid+1,j);
merge(a,i,mid,mid+1,j);
}
}
void merge(int a[],int i1,int j1,int i2,int j2)
{
int temp[50];
int i,j,k;
i=i1;
j=i2;
k=0;
while(i<=j1 && j<=j2)
{
if(a[i]<a[j])
{
temp[k++]=a[i++];
}
else
{
temp[k++]=a[j++];
}
}
while(i<=j1)
{
temp[k++]=a[i++];
}
while(j<=j2)
{
temp[k++]=a[j++];
}
for(i=i1,j=0 ; i<=j2 ; i++,j++)
{
a[i]=temp[j];
}
}
6B.Write a program to search the element using sequential search.
#include<stdio.h>
int main()
{
int a[10],i,n,val;
printf("\nEnter no. of elements :");
scanf("%d",&n);
for(i=0 ; i<n ; i++)
{
printf("\nEnter no. at index %d :",i);
scanf("%d",&a[i]);
}
printf("\nEnter the value to be searched :");
scanf("%d",&val);
for(i=0 ; i<n ; i++)
{
if(a[i]==val)
{
printf("\n %d was found at %d index",val,i);
break;
}
}
if(i==n)
{
printf("\n %d was not found in the list !!",val);
}
return 0;
}
6C.Write a program to search the element using binary search.
//Write a program to search the element using binary search
#include<stdio.h>
int main()
{
int a[100],i,n,val,first,last,middle;
printf("\n enter the no of element :");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\n enter the no of index %d :",i);
scanf("%d",&a[i]);
}
printf("\n enter the value for searching : ");
scanf("%d",&val);
first=0;
last=n-1;
middle=(first+last)/2;
while(first <= last)
{
if(a[middle] < val)
{
first=middle+1;
}
else if(a[middle] == val)
{
printf("%d is found at location %d \n ",val,middle+1);
break;
}
else
{
last=middle-1;
}
middle =(first+last)/2;
}
if(first>last)
{
printf("Not found ! %d isn't present in the list.\n ",val);
}
return 0;
}
Comments
Post a Comment