示例#1
0
        public int buscaBinaria(Comparador comparador, int valor)
        {
            bool achou = false;
            int  inicio = 0, fim = 9, meio = (inicio + fim) / 2;

            while (inicio <= fim && !achou)
            {
                if (vetor[meio] == valor)
                {
                    achou = true;
                }
                else
                {
                    if (comparador.Comparar(valor, vetor[meio]) == -1)
                    {
                        fim = meio - 1;
                    }
                    else
                    {
                        inicio = meio + 1;
                    }
                }
            }
            if (!achou)
            {
                return(-1);
            }
            else
            {
                return(1);
            }
        }
示例#2
0
        public void ordenar(Comparador comparador)
        {
            int swap = 1;
            int i = 1, aux;

            while (i <= 10 && swap == 1)
            {
                swap = 0;
                for (int j = 0; j < 10 - 2; j++)
                {
                    if (comparador.Comparar(vetor[j], vetor[j + 1]) == 1)
                    {
                        swap         = 1;
                        aux          = vetor[j];
                        vetor[j]     = vetor[j + 1];
                        vetor[j + 1] = aux;
                    }
                }
                i++;
            }
        }