Arreglo (array)
Guardar elementos en posiciones numeradas cuando el tamaño no cambiará.
array<int, 5> a = {1, 2, 3, 4, 5};int a[1000] = {}; // 1000 posiciones, todas empiezan en 0
a.size()Devuelve cuántos elementos hay.
O(1)
array<int, 4> a = {10, 20, 30, 40};
cout << a.size(); // imprime 4
a.front()Devuelve el primer elemento.
O(1)
array<int, 3> a = {10, 20, 30};
cout << a.front(); // imprime 10
a.back()Devuelve el último elemento.
O(1)
array<int, 3> a = {10, 20, 30};
cout << a.back(); // imprime 30
a.fill(valor)Pone el mismo valor en todas las posiciones.
O(n)
array<int, 4> a = {1, 2, 3, 4};
a.fill(0); // a = {0, 0, 0, 0}
for (int x : a) cout << x << ' '; // imprime 0 0 0 0
a.begin()Devuelve un iterador: una posición que apunta al primer elemento.
O(1)
array<int, 3> a = {10, 20, 30};
auto it = a.begin();
cout << *it; // imprime 10
a.end()Devuelve la posición que marca el final del recorrido; no contiene un elemento.
O(1)
array<int, 3> a = {10, 20, 30};
auto it = a.end();
--it;
cout << *it; // imprime 30
a.at(i)Acceso con verificación de límites.
O(1)
array<int, 3> a = {10, 20, 30};
cout << a.at(1); // imprime 20
a[i]Acceso directo por índice, sin verificación.
O(1)
array<int, 3> a = {10, 20, 30};
a[1] = 99; // a = {10, 99, 30}
cout << a[1]; // imprime 99i debe estar entre 0 y size() - 1.