Jump Search in C++ | A Helpful Line-by-Line Code Tutorial

#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; }