Podemos decir con cien por cien de certeza que no hay programador que no utilice un arreglo en sus programas. No solo simplifican la vida del desarrollador, sino que también permiten realizar tareas que son simplemente imposibles de completar sin él.
Una matriz es una colección ordenada de datos, opcionalmente del mismo tipo, que se identifica mediante uno o más índices. El primer tipo de matriz es estático. Está presente en todos los idiomas de alto nivel. Tales matrices pueden ser unidimensionales y multidimensionales (por lo general, no tienen más de 2 o 3 dimensiones). Algunos lenguajes no tienen este último, por ejemplo ActionScript. En él, se organizan creando una llamada "matriz de matrices", es decir, colocar en celdas de matriz no datos simples (int, booleano, byte, etc.), sino otras matrices. Ejemplos de declaración de una matriz estática en diferentes lenguajes: En Pascal: x: matriz [1..15] de Integer; {Matriz unidimensional de 15 elementos de tipo Integer} x1: matriz [1..5, 1..5] de Char; {Matriz bidimensional (tabla) con 5 filas y 5 columnas} En C / C ++: int a [10]; // Matriz unidimensional para 10 elementos de tipo integer (int) double b [12] [15]; // Matriz bidimensional con 12 filas y 15 columnas de tipo doble El segundo tipo de matriz es dinámico. Este tipo puede cambiar su tamaño durante la ejecución del programa. Esta función puede resultar muy útil. Se utiliza cuando es difícil decidir inmediatamente qué dimensión crear una matriz. Ejemplos: En Delphi: a1: Array of Byte; // Matriz unidimensional de tipo byte a2: Matriz de Matriz de char; // Matriz multidimensional de tipo char En C ++: float * arr1; // Matriz unidimensional int ** arr2; // Array multidimensional arr1 = new float [70]; // asignación de 70 bloques flotantes arr2 = new int * [99]; // asignación de 99 bloques con el tamaño de un puntero a int for (int k = 0; k <99; k ++) arr2 [k] = new int [17]; Ventajas de las matrices: facilidad para determinar la dirección de un elemento por índice, el mismo tiempo de acceso a cualquier elemento y un tamaño reducido de elementos. Sin embargo, existen algunas desventajas inherentes a sus diferentes tipos. Por ejemplo, la desventaja de una matriz estática es la falta de dinámica, mientras que una matriz dinámica es más lenta. Por lo tanto, vale la pena elegir exactamente el tipo que sea óptimo para resolver la tarea en cuestión.