Algoritmos en C/C++

Búsqueda lineal

La búsqueda lineal revisa elementos hasta una coincidencia o el final.

¿Qué es Búsqueda lineal?

La búsqueda lineal revisa elementos hasta una coincidencia o el final.

Encuentra un objetivo en datos sin ordenar.

Puntos importantes

  • Prueba entradas vacías, únicas, duplicadas y ordenadas.
  • Separa corrección y optimización.
  • Prefiere la biblioteca estándar en producción.

Visualizador de Búsqueda lineal

O(n)

Usa Reproducir o Paso para seguir cada comparación y movimiento de datos.

Ejemplos de código C y C++

C
Ejecutar →
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));
}
Resultado esperado
index=3
C++
Ejecutar →
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';
}
Resultado esperado
index=3

Comparación entre C y C++

Ambas versiones son O(n) en el peor caso. C devuelve -1; C++ devuelve un iterador y lo compara con end.

C

Bucles, punteros, tamaños y buffers se escriben explícitamente.

C++

Iteradores y algoritmos separan la operación del almacenamiento.

Ejercicios prácticos

Ejecuta ambas versiones y modifícalas para observar sus garantías.

  • Traza cada comparación.
  • Prueba duplicados y valores extremos.
  • Compara con la biblioteca estándar.