Linear Search:
In linear search, sorting is unnecessary but takes more execution time than binary search (depends on numbers of element in array)
#include <stdio.h>
int main(void)
{
int searched, numbers[] = {1, 24, 8, 16, 3, 7, 100, 25, 6};
int size = sizeof(numbers) / sizeof(int);
int flag = 1;
printf("Enter number to search : ");
scanf("%d", &searched);
for (int i = 0; i < size; i++)
{
if (searched == numbers[i])
{
printf("%d is found at index %d", searched, i);
flag = 0;
}
}
if (flag == 1)
{
printf("Number not found");
}
}
Binary Search:
1.Sorting is necessary (https://cprogramming00.blogspot.com/2020/08/arrangement-of-numbers-in-accending.html)
2.execution time secure
3.more code
#include <stdio.h>
int main(void)
{
int last, mid, first, flag = 1;
int searched, numbers[] = {1, 3, 5, 6, 9, 44, 100, 112, 444, 555, 999, 2191}; //example: sorted numbers
int sizeofarray = sizeof(numbers) / sizeof(int);
printf("Enter number to search : ");
scanf("%d", &searched);
first = 0;
last = sizeofarray - 1;
while (flag == 1)
{
mid = (first + last) / 2;
if (searched == numbers[mid])
{
printf("%d is found at index %d\n", searched, mid);
flag = 0;
}
if (searched < numbers[mid])
{
first = first;
last = mid - 1;
}
else
{
first = mid + 1;
last = last;
}
}
}
This comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDelete