#include #include #include #include enum SearchResult{FOUND,NOT_FOUND}; void initLookupTable(SearchResult lookup[], int array[], int sizeOfData, int RANGE,int *count1, int *count2); SearchResult searchLookupTable(SearchResult lookup[],int key); void fill_array(int array[], int sizeOfData); void print_array(int array[],int sizeOfData); const int RANGE = 200; int main() { const int arraySize = 100; int a[arraySize]; SearchResult lookup[RANGE]; srand(time(0)); SearchResult result; int searchKey = rand()% RANGE; int count1 = 0; int count2 = 0; printf("**BUCKET SEARCH BY BOND NENE**\n\n"); fill_array(a, arraySize); print_array(a,arraySize); initLookupTable(lookup,a,arraySize,RANGE,&count1,&count2); result = searchLookupTable(lookup,searchKey); if(result == FOUND) { printf("*KEY\n %d FOUND\n\n",searchKey); } else { printf("*KEY\n %d NOT FOUND\n\n",searchKey); } printf("CRITICAL OPERATION OF INITIALISATION %d\n\n" ,count1 ); printf("CRITICAL OPERATION OF SEARCHING %d\n\n" , count2); getch(); return 0; } void fill_array(int array[], int sizeOfData) { for(int counter = 0; counter < sizeOfData; counter++) { array[counter] = rand() % RANGE; } } void print_array(int array[], int sizeOfData) { printf("Numbers present in the array below\n"); for(int counter = 0; counter < sizeOfData; counter++) { printf("%d\n",array[counter],"\n"); } } SearchResult searchLookupTable(SearchResult lookup[], int key) { return lookup[key]; } void initLookupTable(SearchResult lookup[],int array[], int sizeOfData,int RANGE,int *count1,int *count2 ) { for(int i = 0; i