C поиск индекса arry по log k - PullRequest
       7

C поиск индекса arry по log k

1 голос
/ 22 января 2020

, поэтому мне нужно штрафовать индекс (k) в массиве, когда он начинается с go down: {-1,4,6,9,11,15,9,8,4,2}: нужен индекс k = 6, но функция должна запускать log2k раз какие-либо предложения? (на данный момент это работает log2n)

    int middle_index(int *arr,int first,int last)
{
    int middle,index;
    middle = (first + last) / 2;
    if (arr[middle]<arr[middle + 1] && arr[middle]>arr[middle - 1])
    {
        first = middle + 1;
        index = middle_index(arr, first, last);
    }
    else if (arr[middle] > arr[middle + 1] && arr[middle] < arr[middle - 1])
    {
        last = middle - 1;
        index = middle_index(arr, first, last);
    }
    else
    {
        index = middle;
    }
    return index;
}
...