No está realmente claro qué quiere decir con “ordenar una matriz 2D”: debe definir lo que quiere decir con “en orden”. Suponiendo que desea ordenar las filas por un valor específico en una columna, es decir
{1,2,3}
{9,5,4}
{3,4,1)
cuando col = 1 (segundo elemento)
- ¿Cuáles son algunos algoritmos geniales que se pueden usar para el reconocimiento de objetos y cómo los usamos?
- Cómo contar inversiones divididas con el algoritmo de clasificación de fusión
- Cómo encontrar a alguien que pueda implementar un algoritmo de enrutamiento de vehículos que se nos ocurrió
- ¿Cuál es la diferencia entre árboles binarios completos y completos?
- ¿Qué es una explicación intuitiva de union-find?
{1,2,3}
{3,4,1}
{9,5,4}
tu harías:
inserción estática privada vacíaSortTwoDArray (int [] [] a, int size, int col) {
int cur, j;
para (int i = 1; i <tamaño; i ++) {
cur = a [i] [col];
int [] curRow = a [i];
j = i-1;
while ((j> = 0) && (a [j] [col]> cur)) {
a [j + 1] = a [j];
j–;
}
a [j + 1] = curRow;
}
}
Dado que las matrices 2D en Java son solo matrices de matrices, esto esencialmente ordena las matrices por el valor en el índice “col” en cada matriz.
Sin embargo, si lo que quiere hacer es ordenar cada matriz individual dentro de la matriz 2D, es decir
{1,2,3}
{9,5,4}
{3,4,1)
a
{1,2,3}
{4,5,9}
{1,3,4}
Luego, tratar cada “fila” en la matriz 2D como una matriz individual e implementar una clasificación de inserción “1D” será suficiente.