Linear search in C

Write A Program for Liner Searching

Linear search in C to find whether a number is present in an array. If it's present, then at what location it occurs. It is also known as a sequential search. 

Linear search program in C


#include<stdio.h>
#include<conio.h>
void main()
{
  int array[100], search, c, n;
  printf("Enter number of elements in array\n");
  scanf("%d", &n);
  printf("Enter %d integer(s)\n", n);
  for (c = 0; c < n; c++)
    scanf("%d", &array[c]);
  printf("Enter a number to search\n");
  scanf("%d", &search);
  for (c = 0; c < n; c++)
  {
    if (array[c] == search)    /* If required element is found */
    {
      printf("%d is present at location %d.\n", search, c+1);
      break;
    }
  }
  if (c == n)
    printf("%d isn't present in the array.\n", search);
  getch();
}

Linear search C program for multiple occurrences


In the code below we will print all locations at which required element is found and also the number of times it occurs in the list.
#include<stdio.h>

int main()
{
   int array[100], search, c, n, count = 0;
 
   printf("Enter 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 a 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 isn't present in the array.\n", search);
   else
      printf("%d is present %d times in the array.\n", search, count);
   
   return 0;
}


C program for linear search using a function


#include <stdio.h>

long linear_search(long [], long, long);

int main()
{
   long array[100], search, c, n, position;

   printf("Input number of elements in array\n");
   scanf("%ld", &n);

   printf("Input %d numbers\n", n);

   for (c = 0; c < n; c++)
      scanf("%ld", &array[c]);

   printf("Input a number to search\n");
   scanf("%ld", &search);

   position = linear_search(array, n, search);

   if (position == -1)
      printf("%d isn't present in the array.\n", search);
   else
      printf("%d is present at location %d.\n", search, position+1);

   return 0;
}

long linear_search(long a[], long n, long find) {
   long c;

   for (c = 0 ;c < n ; c++ ) {
      if (a[c] == find)
         return c;
   }

   return -1;
}

No comments:

Post a Comment