Un ejemplo de algoritmo de complejidad $O(n)$ es la suma de los primeros $n$ números naturales. Este algoritmo tiene una complejidad lineal, ya que el tiempo de ejecución aumenta de manera proporcional al tamaño de la entrada. El siguiente es un ejemplo de implementación en C++:

```c++
int suma(int n) {
  int res = 0;
  for (int i = 1; i <= n; i++) {
    res += i;
  }
  return res;
}
```

Un ejemplo de algoritmo de complejidad $O(n^2)$ es el algoritmo de ordenamiento de burbuja. Este algoritmo tiene una complejidad cuadrática, ya que el tiempo de ejecución aumenta proporcionalmente al cuadrado del tamaño de la entrada. El siguiente es un ejemplo de implementación en C++:

```c++
void bubbleSort(std::vector<int>& v) {
  int n = v.size();
  for (int i = 0; i < n - 1; i++) {
    for (int j = 0; j < n - i - 1; j++) {
      if (v[j] > v[j + 1]) {
        std::swap(v[j], v[j + 1]);
      }
    }
  }
}
```

Este algoritmo utiliza dos bucles anidados para comparar cada par de elementos adyacentes y realizar intercambios si es necesario. El bucle exterior se ejecuta $n-1$ veces, mientras que el bucle interior se ejecuta $n-i-1$ veces en cada iteración del bucle exterior, lo que da como resultado una complejidad de $O(n^2)$.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence