Requisito previo:
¿Qué es una matriz irregular?
Una matriz irregular es una matriz de matrices de modo que las matrices de miembros pueden tener diferentes tamaños, en términos de matriz 2D para cada fila podemos tener un número variable de columnas. Estos tipos de matrices también se conocen como matrices Jagged.

Matriz irregular en C++
Ejemplo:
arr(3)() = 1 2 3 4 // arr(0)(4) : 1st row have 4 columns 5 6 // arr(1)(2) : 2nd row have 2 columns 7 8 9 // arr(2)(3) : third row have 3 columns
Métodos para crear una matriz irregular
Jagged Array se puede implementar en C++ de dos maneras:
- Usando una matriz estática de punteros
- Uso de arreglos 2D dinámicos
1. Usar una matriz estática de punteros
- crear matrices 1D de ‘n’ números (fila1, fila2, fila3, ….. and so on.) donde n es el número de filas, el tamaño de cada matriz de filas será el número de columnas, es decir, el número de elementos en cada matriz de filas mostrará no. de columnas en esa fila en specific.
- Cree una matriz 1D de punteros, almacenando la dirección base de cada matriz de filas.
- Crear otra matriz 1D Tallas() almacenar el tamaño de cada matriz de filas (esto ayuda al iterar cada elemento).
Para conocer la matriz de punteros, consulte un matriz de punteros artículo.
A continuación se muestra la implementación del método anterior:
C++
|
components in matrix kind as observe 1 2 3 4 5 6 7 8 9
2. Uso de arreglos 2D dinámicos
- Crear fila, variables de columna que almacenan no. de filas y no. de columnas
- Cree una matriz de fila dinámica (matriz de punteros) que pueda almacenar un número de direcciones de “fila”.
- Almacene el tamaño en otra matriz 1D Tamaños () (tamaño del número o filas) para almacenar el número. de columnas para cada elemento de fila en la matriz de filas. (Esto ayuda al iterar cada columna para cada fila).
- Cree una matriz de columnas dinámicas para cada elemento de fila con tamaño: tamaños (i)
- Ahora, cada elemento de fila en la matriz de filas tiene la dirección base de cada matriz de columnas.
A continuación se muestra la implementación del método anterior:
C++
|
components in matrix kind as observe 1 2 3 4 5 6 7 8 9