Algorithms :
- Linear Search
- Binary Search
Q1. Linear Search Algorithm.
Ans. Using C
// c program for Linear search
#include<stdio.h>
#include<conio.h>
int linear_search(int [],int,int);
int main()
{
int number[10],ele,posi,n=10,i;
printf("\n\t\t\t\t\t[ Element Search Using Binary Search ]\n");
printf("\n Enter any 10 number >>| ");
for(i=0;i<n;i++)
{
scanf("%d",&number[i]);
}
printf(" Which element do you want to search >>| ");
scanf("%d",&ele);
posi=linear_search(number,ele,n);
if(posi!= -1)
{
printf("\n Element %d found at %d...",ele,posi);
}
else
{
printf("\n Element not found...");
}
getch();
return 0;
}
int linear_search(int number[],int ele,int n)
{
int i;
for(i=0;i<n;i++)
{
if(number[i]==ele)
{
return i+1;
}
}
return -1;
}
Ans. Using C++
// cpp program for Linear search
#include<iostream>
#include<conio.h>
using namespace std;
int linear_search(int [],int,int);
int main()
{
int number[10],ele,posi,n=10;
cout<<"\n\t\t\t\t\t[ Element Search Using Binary Search ]\n";
cout<<"\n Enter any 10 number >>| ";
for(int i=0;i<n;i++)
{
cin>>number[i];
}
cout<<" Which element do you want to search >>| ";
cin>>ele;
posi=linear_search(number,ele,n);
if(posi!= -1)
{
cout<<"\n Element "<<ele<<" found at "<<posi<<"...";
}
else
{
cout<<"\n Element not found...";
}
getch();
return 0;
}
int linear_search(int number[],int ele,int n)
{
for(int i=0;i<n;i++)
{
if(number[i]==ele)
{
return i+1;
}
}
return -1;
}
Try and run.
// Try and run.
Q2. Binary Search Algorithm.
Ans. Using C
// c program for binary search
#include<stdio.h>
#include<conio.h>
using namespace std;
void sort(int *,int);
int binary_search(int [],int,int,int);
int main()
{
int number[10],ele,posi,n=10;
printf("\n\t\t\t\t\t[ Element Search Using Binary Search ]\n");
printf("\n Enter any 10 number >>| ");
for(int i=0;i<n;i++)
{
scanf("%d",&number[i]);
}
sort(number,n);
printf("\n Here is the sort elements ==> ");
for(int i=0;i<n;i++)
{
printf(" %d,",number[i]);
}
printf("\n Which element do you want to search >>| ");
scanf("%d",&ele);
posi=binary_search(number,ele,0,n-1);
printf("\n");
if(posi!= -1)
{
printf("\n Element %d found at %d...",ele,posi);
}
else
{
printf("\n Element not found...");
}
getch();
return 0;
}
void sort(int *arr,int count)
{
int a,i,j;
for(i=0;i<count-1;i++)
{
for(j=0;j<count-1;j++)
{
if(arr[j]>arr[j+1])
{
a=arr[j];
arr[j]=arr[j+1];
arr[j+1]=a;
}
}
}
}
int binary_search(int number[],int ele,int min,int max)
{
int mid;
if(min>max)
{
return -1;
}
else
{
mid=(min+max)/2;
printf("\n Min = %d Mid = %d Max = %d",min+1,mid+1,max+1);
if(number[mid]==ele)
{
return mid+1;
}
else if(number[mid]>ele)
{
return binary_search(number,ele,min,mid-1);
}
else if(number[mid]<ele)
{
return binary_search(number,ele,mid+1,max);
}
}
}
Ans. Using C++
// cpp program for binary search
#include<iostream>
#include<conio.h>
using namespace std;
void sort(int *,int);
int binary_search(int [],int,int,int);
int main()
{
int number[10],ele,posi,n=10;
cout<<"\n\t\t\t\t\t[ Element Search Using Binary Search ]\n";
cout<<"\n Enter any 10 number >>| ";
for(int i=0;i<n;i++)
{
cin>>number[i];
}
sort(number,n);
cout<<"\n Here is the sort elements ==> ";
for(int i=0;i<n;i++)
{
cout<<" "<<number[i]<<",";
}
cout<<"\n Which element do you want to search >>| ";
cin>>ele;
posi=binary_search(number,ele,0,n-1);
cout<<"\n";
if(posi!= -1)
{
cout<<"\n Element "<<ele<<" found at "<<posi<<"...";
}
else
{
cout<<"\n Element not found...";
}
getch();
return 0;
}
void sort(int *arr,int count)
{
int a;
for(int i=0;i<count-1;i++)
{
for(int j=0;j<count-1;j++)
{
if(arr[j]>arr[j+1])
{
a=arr[j];
arr[j]=arr[j+1];
arr[j+1]=a;
}
}
}
}
int binary_search(int number[],int ele,int min,int max)
{
if(min>max)
{
return -1;
}
else
{
int mid;
mid=(min+max)/2;
cout<<"\n Min = "<<min+1<<" Mid = "<<mid+1<<" Max = "<<max+1;
if(number[mid]==ele)
{
return mid+1;
}
else if(number[mid]>ele)
{
return binary_search(number,ele,min,mid-1);
}
else if(number[mid]<ele)
{
return binary_search(number,ele,mid+1,max);
}
}
}
Try and run.
// Try and run.
0 Comments
If you have any doubt. Let me know.