document interpolation search 2

This commit is contained in:
Krishna Vedala 2020-05-28 20:35:12 -04:00
parent 85020eea5f
commit 4bc199ff1d
No known key found for this signature in database
GPG Key ID: BA19ACF8FC8792F7

View File

@ -1,4 +1,17 @@
/**
* \file
* \brief [Interpolation
* search](https://en.wikipedia.org/wiki/Interpolation_search) algorithm
*/
#include <iostream>
/** function to search the value in an array using interpolation search
* \param [in] arr array to search in
* \param [in] value value to search for
* \param [in] len length of array
* \returns index where the value is found
* \returns -1 if not found
*/
int InterpolationSearch(int A[], int n, int x) {
int low = 0;
int high = n - 1;
@ -11,18 +24,21 @@ int InterpolationSearch(int A[], int n, int x) {
else
low = mid + 1; // x lies after mid
}
return -1;
}
/** main function */
int main() {
int A[] = {2, 4, 5, 7, 13, 14, 15, 23};
int x = 17;
int index = InterpolationSearch(
A, 8, x); // passed array A inside the InterpolationSearch function
if (index != -1)
std::cout << "Number " << x << " is at " << index;
///< passed array A inside the InterpolationSearch function
int index = InterpolationSearch(A, 8, x);
if (index < 0)
std::cout << "Number " << x << " not found" << std::endl;
else
std::cout << "Number " << x << " not found";
std::cout << "Number " << x << " is at " << index << std::endl;
}
// randomly set x bcoz array was defined by us , therefore not reasonable for