Linear search c program
#include <stdio.h>
int main()
{
int array[100], search, c, number;
printf("Enter the number of elements in array\n");
scanf("%d",&number);
printf("Enter %d numbers\n", number);
for ( c = 0 ; c < number ; c++ )
scanf("%d",&array[c]);
printf("Enter the number to search\n");
scanf("%d",&search);
for ( c = 0 ; c < number ; c++ )
{
if ( array[c] == search ) /* if required element found */
{
printf("%d is present at location %d.\n", search, c+1);
break;
}
}
if ( c == number )
printf("%d is not present in array.\n", search);
return 0;
}
Output of
program:
Enter the number of elements in array
5
Enter 5 numbers
6
5
4
9
2
1
Enter the number to search
6
6 is present at location 1
Linear
search for multiple occurrences
In the code below we will print all
the locations at which required element is found and also the number of times
it occur in the list.
#include <stdio.h>
int main()
{
int array[100], search, c, n, count = 0;
printf("Enter the number of
elements in array\n");
scanf("%d",&n);
printf("Enter %d numbers\n", n);
for ( c = 0 ; c < n ; c++ )
scanf("%d",&array[c]);
printf("Enter the number to
search\n");
scanf("%d",&search);
for ( c = 0 ; c < n ; c++ )
{
if ( array[c] == search )
{
printf("%d is present at
location %d.\n", search, c+1);
count++;
}
}
if ( count == 0 )
printf("%d is not present
in array.\n", search);
else
printf("%d is present %d
times in array.\n", search, count);
return 0;
}
C
program for linear search using function
#include <stdio.h>
int linear_search(int*, int, int);
int main()
{
int array[100], search, c, n, position;
printf("Enter the number of
elements in array\n");
scanf("%d",&n);
printf("Enter %d numbers\n", n);
for ( c = 0 ; c < n ; c++ )
scanf("%d", &array[c]);
printf("Enter the number to
search\n");
scanf("%d",&search);
position =
linear_search(array,
n, search);
if ( position == -1 )
printf("%d is not present
in array.\n", search);
else
printf("%d is present at
location %d.\n", search, position+1);
return 0;
}
int linear_search(int *pointer, int n, int find)
{
int c;
for ( c = 0 ; c < n ; c++ )
{
if ( *(pointer+c) == find )
return
c;
}
return -1;
}
Time required to search an element
using linear search algorithm depends on size of list. In best case element is
present at beginning of list and in worst case element is present at the end.
Time complexity of linear search is O(n).
-------------------------------**************************----------------------------------------
No comments:
Post a Comment