#include <iostream> #include <cmath> using namespace std; int jumpSearch(int L[], int length, int key){ int left = 0; int right = sqrt(length); while(right < length && L[right] <= key){ left = right; right += sqrt(length); if(right > length - 1){ right = length; } } for(int i = left; i < right; i++){ if(L[i] == key){ return i; } } return -1; } int main() { int L[] = {0, 1, 2, 3, 4, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610}; int length = sizeof(L) / sizeof(L[0]); int key = 34; int x; if((x = jumpSearch(L, length, key)) == -1 ){ cout << "Key doesn't exist" << endl; } else { cout << "The position of Key is " << x << endl; } return 0; }