Publi

Array (programación)

Un array (también llamados matrices, vectores y mal llamados arreglos), es una estructura de información de tamaño fijo que es capaz de almacenar varios elementos de un mismo tipo de forma ordenada.

Por ejemplo, podemos crear un array de 10 números enteros, 10 palabras, o 10 fichas de contacto con nombre, apellidos, dirección, etc. Además, también podemos encontrar arrays multidimensionales (los unidimensionales suelen llamarse vectores, a partir de dos dimensiones, matrices), para visualizar un array de varias dimensiones, podemos imaginar que en cada elemento de un vector encontramos otro vector.

Podemos imaginarlo como una carpeta con compartimentos, esa carpeta tendrá un número determinado de compartimentos y cada compartimento tendrá una capacidad determinada. Nos guste o no, no podremos quitar o añadir compartimentos a la carpeta, tampoco cambiar de sitio un compartimento, aunque sí que podemos marcar con una X el compartimento que no nos hace falta, sacar el contenido de un compartimento y meterlo en otro. En la definición, con la forma ordenada de almacenamiento me refería a que guardaremos fragmentos de información en el compartimento 1, en el 2, en el 3, etc.

Si hacemos una foto de la memoria, podremos ver cómo cada uno de los elementos está junto al anterior. En lenguajes como C, para referirnos a un array completo, sólo necesitamos saber la dirección de memoria donde empieza. Además, para acceder a un elemento determinado, podemos hacerlo de forma inmediata. Por ejemplo (hablando en decimal para entendernos):

  • El array empieza en la dirección de memoria 10000
  • Cada dato ocupa 100 bytes
  • Mi array tiene un tamaño de 200 elementos (sólo necesitamos este dato para saber que no queremos acceder a un elemento que está fuera
  • Quiero acceder al elemento 7
  • Multiplico (7-1)*100 = 600
  • Sumo 10000+600 = 10600 (y ya puedo leer de ahí el elemento

De todas formas, esto debe ser transparente al usuario, sólo debemos decir la posición del array a la que accedemos, y el resto lo hará el compilador o intérprete (si estamos en script). A lo que me refiero con el acceso inmediato es que, conociendo el tamaño del tipo de dato, y sabiendo a qué número de elemento queremos acceder, haciendo una simple operación matemática sabemos dónde tenemos que acceder para leer o escribir un dato. Otras estructuras de datos implican una búsqueda para realizar esta operación, con lo que, a medida que crece la estructura, se vuelve más compleja la búsqueda.

Como vemos que se resta uno al elemento (sólo hay que pensar que si el primer elemento está en el 10000, el segundo estará en el 10100, el tercero en el 10200, etc), en muchos lenguajes de programación, el primer elemento será el elemento 0.

En lenguajes más avanzados se sigue utilizando el término Array para estructuras más complejas, por ejemplo en PHP, solemos utilizar Arrays que son dinámicos (van creciendo a medida que insertamos elementos, podemos eliminar compartimentos, etc) y en los que, en las posiciones no se utilizan números, podemos utilizar palabras, y además, los tamaños de los datos pueden ser diferentes. No son arrays propiamente dichos, pero para ese lenguaje, se llamarán Arrays.

Si tienes sugerencias para completar esta definición, te invito a enviarme un mensaje.

Related Entries

También podría interesarte....

Los comentarios están cerrados