(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

Popular posts from this blog

python(BI)

Prac_8(AMP)

LSA10