Algoritmos de Busca #2 – Busca Sequencial

Padrão

Continuando com a série de posts com implementações minhas de alguns algoritmos de busca, temos agora a busca Sequencial. Ela é parecida com a busca serial, já postada aqui. Essa busca, que trabalha em grupos de dados ordenados, varre a lista sequencialmente, parando se: 1. o dado foi encontrado ou; 2. o valor atual já é maior que o valor buscado ou ainda; 3. chegou ao fim da lista. Aqui, então, se o valor foi encontrado, retorna o índice onde está o valor; se não foi encontrado, retorna -1.

Segue, então, uma implementação (extremamente simples) desse algoritmo.

int buscaSequencial(int *vetor, int chave, const int TAMANHO)
{
   int i = 0;

   while(i < TAMANHO && chave > vetor[i])
      i++;

   if(i < TAMANHO && chave == vetor[i])
      return i;
   else
      return -1;
}

Deixe uma resposta