Algoritmo de busqueda.

Hannibax

Estoy haciendo una practica de programacion en java, y necesito un algoritmo que me busque posiciones vacias en una matriz de 50 posiciones (0-49) y cuando me encuentre una se salga del bucle que recorre toda la matriz [for (int i =0; ......)]

No me vale el de la burbuja ni el de la burbuja avanzada ni nada de eso... por favor ayudarme llevo horas delante del PC y he gastado casi un pakete de folios y lo unico q consigo es q me busque las posicones vacias y luego cuando lo vuelvo a ejecutar por 3 vez me sobreescribe informacion siempre :( :(
TOY DESESPERADO!!!! AYUDA!!!! :(

Hannibax

Si eso kiero en un array buscar posicones vacias... las busco y las encuentro con un For.... y en esa posicion vacia kiero meter un valor.

Pero segun la voy rellenando, cuando lo ejecuto 3 o mas veces me empieza a sobreescribir valores. Y lo q kiero es q encuentre un posicion vacia, y la llene. y se salga. luego lo vuelvo a ejecutar, q encuentre la inmediatamente siguente y la llene y asi hasta llenar las 50 posiciones.

Este es el algoritmo que uso:

void nuevaEntrada(Entrada entrada1){
    boolean z = true;
    try {
    for (int i = 0; i < arrayEntradas.length; i++){
        while(z== true){
            if (arrayEntradas[i].devolverContacto() == null){
                arrayEntradas[i] = entrada1;
                z = false;
            }else{
                i++;    
                if (arrayEntradas[i].devolverContacto() == null){
                    arrayEntradas[i] = entrada1;
                    z = false;
                }else{
                    System.out.println ("La Agenda esta completa");
                    z = false;
            }
        }
   }

}
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println ("Superó el tamaño de la Matriz");
}
}

S

¿Para qué quieres volver a empezar el rastreo una vez hayas insertado un valor?

Hannibax

No es q no me vale, llenar toda las posiciones de una vez.... eso si se hacerlo.... es para una agenda de telefonos, tu en el movil metes todos los contactos a la vez???? Pues kiero q funciones igual que una agenda de telefonos.

Hannibax

Ya lo he conseguido con un codigo mucho mas sencillo :D:D:D

el de antes tamb estaba bien pensado pero no funcionaba bien si lo habria mas de 3 veces.

Este es el nuevo codigo, q funciona perfectamente :D:D

void nuevaEntrada(Entrada entrada1){
int i = 18;
try {
while (arrayEntradas.devolverContacto() != null){
i++;
}
arrayEntradas = entrada1;
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println ("La Agenda esta llena");

Deathtime

ahora k los ordene de menor a mayor xD.

-eLRiC-

m ...

no se si es trivial lo que diré ... pero nosotros lo hacemos de la siguiente manera:

con 2 bucles, el 1º recorre filas y el 2º columnas ...

if A[i,j] = 0

entonces la posición A[i,j] es un elemento vacio ...

no es mas facil así ? :$

Amedo

servicios WAP via web?

Usuarios habituales

  • Amedo
  • -eLRiC-
  • Deathtime
  • Hannibax
  • Soy_HeatoN