En informática , una matriz irregular , también conocida como matriz irregular , es una matriz de matrices de las cuales las matrices de miembros pueden tener diferentes longitudes, [1] produciendo filas de bordes irregulares cuando se visualizan como salida. Por el contrario, las matrices bidimensionales son siempre rectangulares [2], por lo que las matrices dentadas no deben confundirse con matrices multidimensionales , pero las primeras se utilizan a menudo para emular las últimas.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/2/2f/Jagged_Array_Representation.png)
Las matrices de matrices en lenguajes como Java, PHP, Python (listas multidimensionales), Ruby, C # .Net, Visual Basic.NET , Perl, JavaScript, Objective-C, Swift y Atlas Autocode se implementan como vectores Iliffe .
Ejemplos de
En C # y Java [3] se pueden crear matrices dentadas con el siguiente código: [4]
int [] [] c ; c = new int [ 2 ] []; // crea 2 filas c [ 0 ] = new int [ 5 ]; // 5 columnas para la fila 0 c [ 1 ] = new int [ 3 ]; // crea 3 columnas para la fila 1
En C y C ++ , se puede crear una matriz irregular utilizando el siguiente código:
int jagged_row0 [] = { 0 , 1 }; int jagged_row1 [] = { 1 , 2 , 3 }; int * dentado [] = { jagged_row0 , jagged_row1 };
En C / C ++, las matrices dentadas también se pueden crear con una matriz de punteros:
int * irregular [ 5 ];dentado [ 0 ] = malloc ( tamaño de ( int ) * 10 ); dentado [ 1 ] = malloc ( tamaño de ( int ) * 3 );
En C ++ / CLI , la matriz dentada se puede crear con el código: [5]
usando el sistema de espacio de nombres ; int principal () { array < array < doble > ^> ^ nombreArray = gcnew array < array < doble > ^> ( 4 ); // la matriz contiene 4 // elementos return 0 ; }
En Python , las matrices dentadas no son nativas, pero se pueden usar listas por comprensión para crear una lista multidimensional que admita cualquier matriz dimensional: [6]
multi_list_3d = [[[] para i en el rango ( 3 )] para i en el rango ( 3 )] # Produce: [[[], [], []], [[], [], []], [[ ], [], []]]multi_list_5d = [[[] for i in range ( 5 )] for i in range ( 5 )] # Produce: [[[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []], [[], [], [], [], []], [[], [] , [], [], []]]
Ver también
Referencias
- ^ Jesse Liberty; Brian MacDonald (18 de noviembre de 2008). Aprendiendo C # 3.0 . "O'Reilly Media, Inc.". págs. 210–. ISBN 978-0-596-55420-0.
- ^ Don Box (2002). Essential .Net: Common Language Runtime . Addison-Wesley Professional. pag. 138. ISBN 978-0-201-73411-9.
- ^ "Matriz irregular en Java - GeeksforGeeks" . GeeksforGeeks . 2016-02-03 . Consultado el 13 de agosto de 2018 .
- ^ Paul J. Deitel; Harvey M. Deitel (26 de septiembre de 2008). C # 2008 para programadores . Educación Pearson. pag. 40. ISBN 978-0-13-701188-9.
- ^ "Matrices irregulares" . FunciónX . Consultado el 26 de noviembre de 2014 .
- ^ "Listas en Python desmitificadas" . Alvin.io . Consultado el 31 de enero de 2016 .