18ce062 Practical-1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

PRACTICAL 1

Linear Search :
#include<stdio.h>
#include<conio.h>

void linearsearch(int *arr, int x, int size)


{
int i, count = 0;
for(i=0; i<size; i++)
{
if(*(arr+i) == x)
{
count++;
break;
}
}
if(count == 0)
{
printf("\nElement is not found");
}
else
{
printf("Element is found");
}
}

void main()
{
int i, n, x;
printf("Enter size of an array : ");
scanf("%d",&n);
int *p;
p = (int *)malloc(n * sizeof(int));
printf("\nEnter elements : ");
for(i=0; i<n; i++)
{
scanf("%d", p+i);
}

printf("\nEntered data is : ");


for(i=0; i<n; i++)
{
printf(" %d ", *(p+i));
}
printf("\nEnter value for search : ");
scanf("%d",&x);
linearsearch(p, x, n);

getch();
}

Binary Search Iterator :


#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

int binarysearch(int *p, int search, int high, int low)


{
int i, mid, count=0;
while(low <= high)
{
mid = (low + high)/2;
if(*(p+mid) == search)
{
return mid;
}
else if(*(p+mid) > search)
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}
return -1;
}

int main()

{
int i, n, x, l=0, result;
printf("Enter size of an array : ");
scanf("%d",&n);
int *p;

p = malloc(n * sizeof(int));
printf("\nEnter elements : ");
for(i=0; i<n; i++)
{
scanf("%d", p+i);
}

printf("\nEntered data is : ");


for(i=0; i<n; i++)
{
printf(" %d ", *(p+i));
}

printf("\nEnter value for search : ");


scanf("%d",&x);
result = binarysearch(p, x, n, l);

if(result = -1)
{
printf("Element is not found");
}
else
{
printf("Element is found at index %d", result);
}

getch();
}

Binary Search Recursion :


#include<stdio.h>

int binarysearch(int *p, int search, int high, int low)


{
int i, mid;
// static int count = 0;

mid = (high+low)/2;
if(*(p+mid) == search)
{
return mid;
}
else if(*(p+mid) > search)
{
//high = mid - 1;
return binarysearch(p+mid, search, high, low);
}
else
{
// low = mid + 1;
return binarysearch(p+mid, search, high, low);
}

return -1;
}

int main()
{
int i, n, x, l=0, result;
printf("Enter size of an array : ");
scanf("%d",&n);
int *p;
p = (int*)malloc(n*sizeof(int));

printf("\nEnter elements : ");


for(i=0; i<n; i++)
{
scanf("%d", p+i);
}

printf("\nEntered data is : ");


for(i=0; i<n; i++)
{
printf(" %d ", *(p+i));
}

printf("\nEnter value for search : ");


scanf("%d",&x);
result = binarysearch(p, x, n, l);

if(result == -1)
printf("Element is not found");
else
printf("Element is found" , result);
getch();
return 0;
}

Output :

You might also like