U06-09-Búsqueda en Arrays ordenados

static int binarySearch(tipo array[], tipo campo_a_buscar);

Cuando el elemento que buscar no se encuentra, el valor negativo devuelto tiene un significado especial: informa de la posición donde tendría que colocarse el elemento buscado para que la tabla continúe ordenada. El índice de inserción se calcula:

indiceInsercion = -pos – 1;siendo pos el valor negativo devuelto por binarySearch(). Veamos un ejemplo:

int a[] = {2, 4, 5, 6, 9};

int pos = Arrays.binarySearch(a, 3); //pos vale -2

int indiceInsercion = -pos – 1; //vale 1

package U6;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class A000 {

	public static void main(String[] args) {
		
		int combGan[]= {2,3,4,7,9,15};
		int apuesta[]= {1,2,7,15,26,35};
		
		int aciertos=primitiva(combGan, apuesta);
		
		System.out.println("Los aciertos son: " + aciertos);
	}

	private static int primitiva(int[] combGan, int[] apuesta) {
		int aciertos=0;
		for (int ele:apuesta) {
			if (Arrays.binarySearch(combGan, ele)>=0)
				aciertos++;
		}
		return aciertos;
	}
}

Related Posts