diff --git a/searching/linear_search.c b/searching/linear_search.c index 6982512cc4..ae16c3b051 100644 --- a/searching/linear_search.c +++ b/searching/linear_search.c @@ -1,36 +1,20 @@ #include -#include -int linearsearch(int *arr, int size, int val) -{ - int i; - for (i = 0; i < size; i++) - { - if (arr[i] == val) - return 1; - } - return 0; +int search(int array[], int n, int x) { + + // Going through array sequencially + for (int i = 0; i < n; i++) + if (array[i] == x) + return i; + return -1; } -int main() -{ - int n, i, v; - printf("Enter the size of the array:\n"); - scanf("%d", &n); // Taking input for the size of Array +int main() { + int array[] = {2, 4, 0, 1, 9}; + int x = 1; + int n = sizeof(array) / sizeof(array[0]); - int *a = (int *)malloc(n * sizeof(int)); - printf("Enter the contents for an array of size %d:\n", n); - for (i = 0; i < n; i++) - scanf("%d", &a[i]); // accepts the values of array elements until the - // loop terminates// + int result = search(array, n, x); - printf("Enter the value to be searched:\n"); - scanf("%d", &v); // Taking input the value to be searched - if (linearsearch(a, n, v)) - printf("Value %d is in the array.\n", v); - else - printf("Value %d is not in the array.\n", v); - - free(a); - return 0; + (result == -1) ? printf("Element not found") : printf("Element found at index: %d", result); }