Algoritmos C/C++

Busca linear

Busca linear verifica elementos até encontrar ou chegar ao fim.

O que é Busca linear?

Busca linear verifica elementos até encontrar ou chegar ao fim.

Encontre alvo em dados não ordenados.

Pontos importantes

  • Teste entradas vazias, únicas, duplicadas e ordenadas.
  • Separe correção de otimização.
  • Prefira a biblioteca padrão em produção.

Visualizador de Busca linear

O(n)

Use Executar ou Passo para acompanhar cada comparação e movimento dos dados.

Exemplos de código C e C++

C
Executar →
main.c
#include <stdio.h>

int find(const int *values, int size, int target) {
    for (int index = 0; index < size; ++index) {
        if (values[index] == target) return index;
    }
    return -1;
}

int main(void) {
    int values[] = {14, 3, 27, 8, 19};
    printf("index=%d\n", find(values, 5, 8));
}
Saída esperada
index=3
C++
Executar →
main.cpp
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    std::vector values{14, 3, 27, 8, 19};
    auto match = std::find(values.begin(), values.end(), 8);
    std::cout << "index="
              << std::distance(values.begin(), match) << '\n';
}
Saída esperada
index=3

Comparação entre C e C++

Ambas são O(n) no pior caso. C retorna -1; C++ retorna iterator comparado a end.

C

Loops, ponteiros, tamanhos e buffers são explícitos.

C++

Iteradores e algoritmos separam operação e armazenamento.

Exercícios práticos

Execute as duas versões e modifique-as para observar suas garantias.

  • Rastreie cada comparação.
  • Teste duplicatas e valores extremos.
  • Compare com a biblioteca padrão.