Linear
search in c programming: The following code implements linear search (
Searching algorithm ) which is used to find whether a given number is
present in an array and if it is present then at what location it
occurs.It is also known as sequential search. It is very simple and
works as follows: We keep on comparing each element with the element to
search until the desired element is found or list ends. Linear search in
c language for multiple occurrences and using function.
C program for binary search
Output of code:
Output of code:
Linear search c program
#include<stdio.h> 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 code:
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> 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); 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; }
0 comments:
Post a Comment