new T[7]
crea una matriz de 7 T
s. Si reemplazamos T
con int[5]
, obtenemos new int[5][7]
que debería crear una matriz de 7 matrices de 5 enteros. Sin embargo, crea una matriz de 5 matrices de 7 enteros en su lugar. ¿Hay alguna buena razón para esto? ¿No tendría más sentido si fuera al revés?orden de las dimensiones al crear una matriz multidimensional
Respuesta
lo pienso como dimensiones:
height width depth
int[5] [7] [8]
O
rows cols
int[5] [7]
Es por eso que tiene sentido para que sea 5 series de 7 enteros para mí. Hay una especie de orden natural.
Creo que su ejemplo también tiene sentido y es muy lógico. Así que supongo que es solo una cuestión de opinión: P
int ints [][] = new int [5][7];
puede escribirse como int [] ints [] = new int [5][7];
quizás esto le dirá que tiene sentido que esas son 5 matrices de 7 enteros. ;)
¿Eso es verdad? Además, no veo cómo ayuda – sehe
Esta es una respuesta divertida, +1 de mí. – fredoverflow
+1 gracioso. Ni siquiera puedo analizar la sintaxis. –
- 1. ¿Por qué no puedo omitir las dimensiones por completo al inicializar una matriz multidimensional?
- 2. matriz multidimensional en orden aleatorio
- 3. Cómo cambiar el orden de las dimensiones de la matriz
- 4. Algoritmo para crear una matriz multidimensional
- 5. ¿Cómo crear y usar una matriz multidimensional en Scala?
- 6. Jinja2: ¿Cómo crear una matriz javascript multidimensional?
- 7. crear una matriz multidimensional en un bucle
- 8. Crear una matriz multidimensional en vb.net
- 9. Crea una matriz multidimensional dinámica
- 10. Numpy: ordenar una matriz multidimensional por una matriz multidimensional
- 11. Crear lista anidada de matriz multidimensional
- 12. iteración a través de una matriz multidimensional en Python
- 13. Numpy matriz multidimensional rebanar
- 14. Algoritmo para convertir una matriz multidimensional en una matriz unidimensional
- 15. typedef de una matriz multidimensional?
- 16. array_slice en una matriz multidimensional?
- 17. ¿Cómo puedo pasar una matriz multidimensional a una función?
- 18. SetLength en matriz multidimensional
- 19. ¿Es posible crear una matriz multidimensional vacía en javascript/jquery?
- 20. ¿Cómo puedo iterar filas y columnas de una matriz multidimensional?
- 21. ¿Cómo urlencode una matriz multidimensional?
- 22. ¿Es posible contar el número de dimensiones en una matriz?
- 23. Añadir una dimensión de una matriz multidimensional en C#
- 24. Actualización de una matriz multidimensional en PHP
- 25. iteración matriz de una dimensión como matriz de dos dimensiones
- 26. PHP crear una matriz multidimensional de una matriz con datos relacionales
- 27. ¿Cómo recorre una matriz multidimensional?
- 28. array_push en una matriz multidimensional
- 29. Multi-ordenar una matriz multidimensional
- 30. ordenar una matriz asociativa multidimensional?
Todos los lenguajes similares a C usan [orden mayor de fila] (http://en.wikipedia.org/wiki/Row-major_order). Fortran usa la columna principal. Piense en ello como * la dimensión más importante primero *. – Mysticial
Creo que la pregunta es perfectamente apropiada, una fuente frecuente de confusión. Es una de las (muchas) razones para evitar las matrices multidimensionales 'desnudas' en C++ – sehe
Cuando haces una búsqueda, los índices van en el mismo orden que las dimensiones, lo cual creo que tiene más sentido que a la inversa. –