Я написал небольшой фрагмент кода, чтобы определить индекс следующего меньшего элемента в массиве. Фрагмент кода ниже:Arrays.binarysearch (double [] array, key) return -1
public static int FindNextSmallest(double[] arr1, int current_small_index) {
double current_smallest_element = arr1[current_small_index];
double[] new_arr1 = arr1.clone();
Arrays.sort(new_arr1);
int v = Arrays.binarySearch(new_arr1, current_smallest_element);
double next_small = new_arr1[v + 1];
int next_small_index = Arrays.binarySearch(arr1, next_small);
return next_small_index;
}
массив содержит значения: {0.6666,0.6666,0.6666, -0,9333, -0,9333}.
В начале current_small_index равно 3 с current_small_element = -0.9333, Затем он возвращает следующий наименьший элемент, который в этом случае равен -0.9333 в позиции индекса 4. Но он возвращает -1.
Пожалуйста, помогите.
Я просто вижу new_arr1 для сортировки в вопросе? – HRgiger
oh следующий извините – HRgiger
Спасибо @ Давид сэр. Я забыл эту часть. –