예제 #1
0
        /* Inserta una ficha dependiendo de su costo (menores primero). */
        private void insertElement(Blanco ficha)
        {
            for (int i = 0; i < this.listaBuscados.Count; i++)
            {
                Blanco fichaActual = this.listaBuscados[i];
                // Si la nueva ficha tiene un costo menor.
                if (fichaActual.getCostoCompleto() >= ficha.getCostoCompleto())
                {
                    this.listaBuscados.Insert(i, ficha);
                    return;
                }
            }

            this.listaBuscados.Add(ficha); // Agreguela al final.
        }
예제 #2
0
 /* Inseta un elemento, primero revise si ya se insertó en la lista de búsqueda previamente. */
 public void insert(Blanco ficha)
 {
     for (int i = 0; i < this.listaBuscados.Count; i++)
     {
         Blanco fichaTemp = listaBuscados[i];
         // Si las dos fichas tienen la misma posición.
         if (ficha.compararFicha(fichaTemp))
         {
             // Si su costo es menor a la previa.
             if (ficha.getCostoCompleto() < fichaTemp.getCostoCompleto())
             {
                 cambiosRealizados++;
                 listaBuscados.Remove(fichaTemp);
                 this.insertElement(ficha); // Inserte si su costo es menor.
             }
             return;
         }
     }
     this.insertElement(ficha); // Inserte si no tiene coincidencias.
 }