Binary search using bubble sort


Program

#include <stdio.h> void bubbleSort(int * arr, int size) { for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j+1]) { // For Descending use "arr[j] < arr[j+1]" int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } int binarySearch(int *arr, int size, int elem) { int low = 0; int high = size - 1; while (low <= high) { int mid = low + (high - low) / 2; if (arr[mid] > elem) high = mid - 1; else if (arr[mid] < elem) low = mid + 1; else return mid; } return -1; } int main() { int size, elem; printf("Enter array size: "); scanf("%d", &size); int arr[size]; printf("Enter array elements: "); for (int i = 0; i < size; i++) scanf("%d", &arr[i]); printf("Enter element to search: "); scanf("%d", &elem); bubbleSort(arr, size); printf("The sorted array: "); for (int i = 0; i < size; i++) printf("%d ", arr[i]); int index = binarySearch(arr, size, elem); if (index == -1) printf("\nElement not found\n"); else printf("\nElement fount at position %d\n", (index + 1)); }