Arrays en programación.

Arrays: Definición, Dimensionalidad y Funcionamiento en varios lenguajes

27/02/2019
Número de visualizaciones

Guardar información en el ámbito de la informática es obligatorio para poder llevar a cabo muchas o casi todas las operaciones habituales dentro de cualquier programa o proceso.

En la programación existen multitud de estructuras de datos complejas que sirven para guardar información de manera más organizada que con simples variables. Una de estas estructuras son los arrays, típicamente utilizados en cualquier lenguaje de programación actual.

Si quieres descubrir qué son los arrays, qué características principales tienen, las diferentes dimensiones en las que se pueden organizar y un ejemplo de cómo se declaran y acceden a ellas en diferentes lenguajes de programación, sigue leyendo este artículo.

 

¿Qué son los arrays?

Un array es una manera de poder guardar datos del mismo tipo o clase (Enteros, carácteres, booleanos, etc.).

Es posible el acceso a cada elemento de un array a través de un número entero que se denomina índice (pueden existir 2 o más índices según la dimensionalidad del array).

La numeración de estos elementos dentro del array comienza en 0 (primer elemento del array) y finaliza en n-1 (último elemento del array) donde n es el tamaño completo de dicho array.

Para utilizar los arrays de manera adecuada se realizan las siguientes acciones sobre ellos:

  • Declarar el array
  • Crear el array e inicializarlo (Esta acción puede ser incluida en la declaración)
  • Acceder y utilizar el array

Características principales de los arrays

Las principales características de un array son:

  • Tiene un nombre de variable único que representa a cada elemento dentro de él y estos elementos son diferenciados por un índice.
  • Los elementos dentro del array son guardados en posiciones de memoria de forma continua.
  • Se puede acceder a cada elemento individual del array de manera directa o aleatoria.

 

Dimensionalidades de los arrays

Dependiendo de la forma como se declaran o construyen los arrays, se pueden clasificar en: unidimensional, bidimensional o multidimensional.

Los más utilizados son los arrays estructurados como un vector (unidimensionales) o como una matriz (bidimensionales), aunque se pueden crear estructuras de más de 2 dimensiones (multidimensionales) sin ningún problema.

Arrays unidimensionales

Un array unidimensional (vector) es aquel en el cual se puede acceder a cualquier elemento solamente con un índice.

Se puede imaginar como si se tratase de una lista de datos en la cual, para referirnos a cada elemento de dicha lista, emplearemos un número (índice) para indicar la posición en la que podemos encontrar dicho elemento dentro de ella.

Array Unidimensional

Arrays bidimensionales

En el caso de los arrays bidimensionales (También llamados tablas o matríces), son 2 los índices necesarios para localizar cualquier elemento.

Cualquier elemento dentro del array bidimensional se puede imaginar como un elemento que se encuentra localizado dentro de una posición determinadas en un “eje X” y un “eje Y”.

Array Bidimensional

En la imagen anterior, si cogemos cualquier posición dentro del array como una posición {x,y}:

  • {0,0} corresponde al número 1 azul.
  • {2,3} corresponde al número 1 rojo.
  • {4,4} corresponde al número 2 verde.

Arrays multidimensionales

También se pueden crear arrays de más de 2 dimensiones y son los denominados Arrays multidimensionales.

En este caso el número de índices viene determinado por el número de dimensiones de nuestro array, por ejemplo, para un array tridimensional el número de índices sería 3.

Igual que ocurre con los otros tipos de arrays, cualquier elemento puede ser localizado mediante una posición concreta.

Array Multidimensional

Si cogemos como ejemplo la imagen anterior, se trata de un array tridimensional, en el que, cualquier elemento, puede ser localizado mediante una posición {x,y,z}.

Por ejemplo:

  • Para el cuadrado rojo que está en la cara inferior izquierda la posición sería {0,2,0}
  • Si queremos localizar el cuadrado verde de la cara inferior derecha sería {2,1,1}

 

Declaración y acceso de arrays en varios lenguajes

Los arrays, como dije anteriormente, son una estructura básica dentro de cualquier lenguaje de programación.

Pero cada lenguaje administra, declara y usa los arrays de manera distinta.

A continuación expongo una breve guía sobre la declaración y el acceso a arrays con distintos lenguajes de programación.

Anotación: Todas las declaraciones de arrays que se van a hacer a continuación se hacen de forma vacía, es decir, no se inicializan valores dentro de dicha declaración pero perfectamente se pueden inicializar valores dentro del array a la hora de la declaración.

Array en C y C++

Para declarar un array unidimensional tanto en C como en C++, la sentencia a utilizar es:

Tipo_dato nombre_array[número_elementos];

Donde número de elementos debe ser mayor o igual a 1.

Un ejemplo podría ser: int ejemplo[7];

Para acceder a cualquier posición dentro dicho array, la sentencia a utilizar es:

Nombre_array[posición];

Donde “posición” debe encontrarse en el rango desde 0 a “número_elementos”-1.

Por tanto, si por ejemplo quisiéramos acceder a la posición 6 de dicho array, la sentencia a utilizar sería ejemplo[5]; ya que, como dijimos anteriormente, los índices en los arrays comienzan en la posición 0.

En el caso de los arrays bidimensionales y multidimensionales, la declaración es igual que para los unidimensionales aumentando el número de “corchetes” donde quedan especificadas las dimensiones del array.

Por ejemplo, para un array bidimensional un ejemplo de declaración sería: char palabras[4][5]; mientras que si queremos declarar un array de 4 dimensiones un ejemplo sería: bool elección[3][2][3][2];

A la hora de acceder estamos ante la misma situación aumentando las dimensiones en la consulta. Por ejemplo: palabras[2][0]; o elección[0][0][1][2];

Array en Java

Declarar y acceder a un array en Java es muy parecido a C o C++.

La principal diferencia radica en que Java trata a un array como si fuera un objeto mientras que en C y C++ se trata como si fuera una variable.

La sentencia utilizada para declarar un array unidimensional en Java es:

Tipo_dato nombre_array[];

Nombre_array = new tipo_dato[tamaño_array];

Y para acceder la sentencia sería:

nombre_array[posición];

Un ejemplo sería:

Int números[]; // Declaramos un array “números” de tipo entero

números= new int[8]; // Inicializamos un objeto “números” de tipo array de números enteros con 9 elementos.

números[5]; // Accedemos al sexto elemento dentro del array “números”

Para arrays de más dimensiones sería exactamente igual solamente añadiendo más “corchetes” con las dimensiones deseadas.

Array en Javascript

En el caso de Javascript, para declarar un array existen 2 métodos:

Var nombre_array = new Array();

o

Var nombre_array = [];

Para acceder a cualquier elemento dentro del array la sentencia sería:

nombre_array [posición];

Para arrays multidimensionales en Javascript podéis ver el siguiente tutorial.

Array en PHP

Finalmente, vamos a ver cómo declarar y acceder a los elementos de un array con PHP.

Para declarar un array unidimesional, la sintaxis sería:

$nombre_variable = array(); 

Ejemplo: $colores = array();

En el caso de que queramos declarar un array multidimensional (2 ó más dimensiones) simplemente habría que ir concatenando la función array() para cada dimensión dentro de la dimensión anterior:

$nombre_variable = array(array(…));

Por ejemplo, si queremos un array bidimensional sería:

$tabla = array(array());

Mientras que si queremos uno tridimensional sería:

$variable = array(array(array()));

Para acceder a los arrays en PHP la sentencia a utilizar sería:

$nombre_variable[posición];

Ejemplo: $colores[3];

Y en el caso de multidimensionales simplemente basta con ir incluyendo “corchetes” con la posición dentro de dicha dimensión. Ejemplo: $variable[3][2][0];

 

¡Organiza tus datos!

Llegados a este punto se debería tener una visión más clara sobre cómo funcionan los arrays en la programación y la importancia que tienen.

Los arrays no se quedan aquí, esto es básicamente el principio, ya que, lo realmente interesante dentro de los arrays, son las búsquedas y funciones que se pueden llevar a cabo gracias a ellos.

Por tanto, las posibilidades son inmensas, solo hay que saber utilizar estas estructuras de programación para el desarrollo de cualquier programa, sistema o página que se desee.

Si este artículo ha sido de tu interés puedes echar un vistazo a otros escritos por el mismo autor aquí.

2+
Categorizado en: Análisis de Datos

5 Comentarios

  1. Eustorgio dice:

    excelente artículo, muchas gracias

    0
  2. Laura dice:

    Hola, buenas tardes, una pregunta, en el cubo de rubik esta posición no sería para el cuadrado gris? {0,2,0}, no entiendo por qué es para el rojo

    0
    • Rafael Marín Rafael Marín dice:

      Buenos días Laura.
      La posición {0,2,0} corresponde a los ejes x,y,z. Siempre teniendo en cuenta que en un array la primera posición se toma como la posición 0 del mismo.
      Por lo tanto, en la posición x=0, y=2, z=0, como se indica en el artículo, el color sería rojo.
      Espero haber aclarado su duda.
      Un saludo.

      0
  3. pedro pacheco dice:

    La mejor explicacion que encontre sobre el tema. Gracias¡¡

    0
  4. jota dice:

    Muy bueno gracias

     

    1+

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Descubre MasterClass de INESEM. Una plataforma en la que profesionales enseñan en abierto

Profesionales enseñando en abierto