From 776e37c01f71cac8d023bc43abe1475b04a86e64 Mon Sep 17 00:00:00 2001 From: M Wasi Date: Wed, 16 Oct 2024 13:17:28 +0530 Subject: [PATCH] LinearSearchRecursion.c create LinearSearchRecursion --- C Language/LinearSearchRecursion.c | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 C Language/LinearSearchRecursion.c diff --git a/C Language/LinearSearchRecursion.c b/C Language/LinearSearchRecursion.c new file mode 100644 index 0000000..88b2e95 --- /dev/null +++ b/C Language/LinearSearchRecursion.c @@ -0,0 +1,44 @@ +#include + +int linearSearchRecursive(int arr[], int size, int target, int index, int *counter) { + if (index >= size) { + return -1; + } + + (*counter)++; + + if (arr[index] == target) { + return index; + } + + return linearSearchRecursive(arr, size, target, index + 1, counter); +} + +int main() { + int size; + printf("Enter the size of the array: "); + scanf("%d", &size); + + int array[size]; + printf("Enter %d elements for the array:\n", size); + for (int i = 0; i < size; i++) { + scanf("%d", &array[i]); + } + + int target; + printf("Enter the target value to search for: "); + scanf("%d", &target); + + int counter = 0; + int result = linearSearchRecursive(array, size, target, 0, &counter); + + if (result != -1) { + printf("Target %d found at index %d\n", target, result); + } else { + printf("Target %d not found in the array\n", target); + } + + printf("Total comparisons made: %d\n", counter); + + return 0; +}