interpolation_search {
58uint64_t interpolationSearch(
conststd::vector<uint64_t> &arr,
60uint64_t size = arr.size();
61uint64_t low = 0, high = (size - 1);
65 while(low <= high && number >= arr[low] && number <= arr[high]) {
67 if(arr[low] == number) {
75((
static_cast<uint64_t
>(high - low) / (arr[high] - arr[low])) *
78 if(arr[pos] == number) {
82 if(arr[pos] < number) {
101static void tests() {
105std::vector<uint64_t> arr = {{10, 12, 13, 16, 18, 19, 20, 21, 1, 2, 3, 4,
10622, 23, 24, 33, 35, 42, 47}};
107sort(arr.begin(), arr.end());
108uint64_t number = 33;
109uint64_t expected_answer = 15;
110uint64_t derived_answer =
111search::interpolation_search::interpolationSearch(arr, number);
112std::cout <<
"Testcase: ";
113assert(derived_answer == expected_answer);
114std::cout <<
"Passed!\n";
int main()
Main function.
Testcases to check Union of Two Arrays.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4