// Se recibe una matriz de cadenas y ordena los datos en un vector
// lexicograficamente de menor a mayor.
//----------------------------------------------------------------
public class OrdenaMatriz_A_Vector
{
public static void main(String RAFA[])
{
String MAT[][] = {{"Alfa", "Romeo", "Arabe"}, {"Pontiac", "Arbol", "Bocinas"} String VECT[] = new String[MAT.length * MAT[0].length];
ImprimeM(MAT);
VECT = Ordena(MAT);
ImprimeV(VECT);
}
static String[] Ordena(String DATOS[][])
{
String VECTOR[] = new String[DATOS.length * DATOS[0].length];
String AUX = "";
int r=0, c=0;
for (int x = 0; x < VECTOR.length; x++)
{
or de todas
for (int R = 0; R < DATOS.length; R++)
for (int C = 0; C < DATOS[0].length; C++)
if (DATOS[R][C].compareTo("_") != 0)
if (AUX.compareTo(DATOS[R][C]) > 0)
{
AUX = DATOS[R][C];
r = R; c = C;
}
DATOS[r][c] = "_";
VECTOR[x] = AUX;
}
return VECTOR;
}
static void ImprimeM(String DATOS[][])
{
String REN = "", Salida = "";
for (int Ren = 0; Ren < DATOS.length; Ren++)
{
REN = "";
for (int Col = 0; Col < DATOS.length; Col++)
REN += "\t" + DATOS[Ren][Col];
Salida += "\n" + REN;
}
System.out.println(Salida);
}
static void ImprimeV(String DATOS[])
{
for (int Indice = 0; Indice < DATOS.length; Indice++)
System.out.println(DATOS[Indice]);
}
}