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)<br />
{<br />
   int i = 0;</p>
<p>   while(i &lt; TAMANHO &amp;&amp; chave &gt; vetor[i])<br />
      i++;</p>
<p>   if(i &lt; TAMANHO &amp;&amp; chave == vetor[i])<br />
      return i;<br />
   else<br />
      return -1;<br />
}