OrdenaMatriz_A_Vector.java_



// 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]);
	}
}