#include <iostream> usando namespace std; // Método de búsqueda binaria, encuentra los elementos de una matriz y devuelve el índice de la posición, // debe ser una matriz ordenada, int select_arr ( int arr [], int len , int arr_value) { while ( 1 ) { int left = 0 ; // subíndice izquierdo de la matriz int right = len- 1 ; // subíndice derecho de la matriz while (left <= right) { int mid = ( izquierda + derecha) / 2 ; // define el índice medio int mid_value = arr [mid]; // define el valor de referencia del valor intermedio if (mid_value == arr_value) // si el valor de referencia es exactamente igual al valor que se encuentra, luego regresa automáticamente a la ubicación que deseas { return mid; } // if El valor de referencia es mayor que el valor a buscar, lo que indica que el valor está en la mitad izquierda, y el nuevo rango de búsqueda es el valor medio -1 dígitos, que es mid-1 si if (mid_value> arr_value) { right = mid- 1 ; } // si el valor de referencia Menos del valor a buscar, lo que indica que el valor está en la mitad derecha, el nuevo rango de búsqueda es el número medio +1 dígitos, que es mid + 1; de lo contrario, si (mid_value < arr_value) { left = mid + 1; } } return - 1 ; } } int main () { // define una matriz int y usa la búsqueda binaria para int arr [ 10 ] = { 1 , 3 , 5 , 7 , 9 , 10 , 16 , 46 , 88 , 91 }; int weizhi = select_arr (arr, 10 , 16 ); devuelve 0 ; }