Algoritmo de búsqueda binaria C ++

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

 

Supongo que te gusta

Origin www.cnblogs.com/shenji/p/12695102.html
Recomendado
Clasificación