Thursday, September 7, 2023

searching techniques in c

 Searching techniques programs:

  1. linear search 
  2. binary search 

1) linear search program in c

#include <stdio.h>

int 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 (= 0; c < n; c++)
    scanf("%d", &array[c]);

  printf("Enter a number to search\n");
  scanf("%d", &search);

  for (= 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 (== n)
    printf("%d isn't present in the array.\n", search);

  return 0;

}

The output of this C program will depend on the input provided by the user. Here's an example of how the program would execute:

mathematica
Enter number of elements in array 5 
Enter 5 integer(s) 1 2 3 4 5 
Enter a number to search 3 3 is present at location 3.

2) binary search program in c

#include <stdio.h>

int main()
{
  int c, first, last, middle, n, search, array[100];

  printf("Enter number of elements\n");
  scanf("%d", &n);

  printf("Enter %d integers\n", n);

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

  printf("Enter value to find\n");
  scanf("%d", &search);

  first = 0;
  last = n - 1;
  middle = (first+last)/2;

  while (first <= last) {
    if (array[middle] < search)
      first = middle + 1;
    else if (array[middle] == search) {
      printf("%d found at location %d.\n", search, middle+1);
      break;
    }
    else
      last = middle - 1;

    middle = (first + last)/2;
  }
  if (first > last)
    printf("Not found! %d isn't present in the list.\n", search);

  return 0;
}

OUTPUT:

Example 1: Searching for a number that is present in the array:

mathematica
Enter number of elements 5 
Enter 5 integers
10 20 30 40 50 
Enter value to find 30 30 found at location 3.

No comments:

Post a Comment