Arreglos
Un arreglo es una colección de elementos del mismo tipo, accesibles mediante un índice. El tamaño de un arreglo es fijo y no puede cambiar durante la ejecución del programa.
Leer un elemento
Para acceder al valor de un elemento en un array
podemos utilizar su indice.
Ejecuta el código en este playground.
Complejidad de tiempo: O(1)
Actualizar un elemento
Para actualizar un elemento en un arreglo podemos acceder a el a través de su indice
y asignar el nuevo valor.
Ejecuta el código en este playground.
Complejidad de tiempo: O(1)
Buscar un elemento
Para buscar un elemento en un arreglo, podemos utilizar un bucle for
para recorrer todos los elementos del arreglo y compararlos con el elemento que estamos buscando (esto es lo que se conoce como búsqueda lineal).
Ejecuta el código en este playground.
Complejidad de tiempo: O(N)
Insertar un elemento al final
Para insertar un elemento al final de un slice
, podemos utilizar la función nativa de Go append
. La cuál recibe como primer argumento el slice
y después el elemento a insertar en el slice
.
Ejecuta el código en este playground.
Complejidad de tiempo: O(N)
Insertar un elemento al principio
Para este caso volveremos a usar la función append
, pero en esta ocasión le pasaremos como primer argumento un slice
que contendrá el nuevo elemento, seguido por el slice
que contiene al resto de los elementos utilizando la sintaxis ...
.
Ejecuta el código en este playground.
Complejidad de tiempo: O(N)
Insertar un elemento en cualquier indice
Para insertar un elemento en cualquier indice, podemos dividir el slice
en dos partes e insertar el nuevo elemento en medio de las mismas.
Ejecuta el código en este playground.
Complejidad de tiempo: O(N)
Eliminar un elemento
Para eliminar un elemento de un slice
, podemos utilizar una técnica similar a la anterior, creando dos slices y dejando de lado el elemento que queremos eliminar.
Ejecuta el código en este playground.
Complejidad de tiempo: O(N)