//NOTA "NUNCA USAR BURBUJA" public class arreglo{ public static void main(String[] args) { int n, m, i, j; int empresa; n = 2; m = 12; empresa = (int) (Math.random() * 10 + 1); int arreglo[][] = new int[n + 1][m + 1]; int temporal1[] = new int[m + 1]; int temporal2[] = new int[m + 1]; for (int h = 0; h < empresa; h++) { for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { arreglo[i][j] = (int) (Math.random() * 2000 + 1001); System.out.println(arreglo[i][j]); } System.out.println("FIN DE AñO"); } System.out.println("Fin de empresa "); for (int t = 0; t < m; t++)//Transfiere a un temporal empresa 1 { temporal1[t] = arreglo[0][t]; } for (int w = 0; w < m; w++)//Transfiere a un temporal empresa 2 { temporal2[w] = arreglo[1][w]; } quick_sort(temporal1, 0, temporal1.length - 1); quick_sort(temporal2, 0, temporal2.length - 1); System.out.println("la mayor venta en el 1° año es " + temporal1[m]); System.out.println("la menor venta en el 1° año " + temporal1[1]); System.out.println("la mayor venta en el 2° año " + temporal2[m]); System.out.println("la menor venta en el 2° año " + temporal2[1]); System.out.println(); } } //Aca esta el quick sort lo llame como metodo veran como se transfieren los datos public static void quick_sort(int array[], int low, int n) { int bajo = low; int alto = n; if (bajo >= n) { return; } int pivote = array[(bajo + alto) / 2]; while (bajo < alto) { while (bajo < alto && array[bajo] < pivote) { bajo++; } while (bajo < alto && array[alto] > pivote) { alto--; } if (bajo < alto) { int T = array[bajo]; array[bajo] = array[alto]; array[alto] = T; } } if (alto < bajo) { int T = alto; alto = bajo; bajo = T; } quick_sort(array, low, bajo); quick_sort(array, bajo == low ? bajo + 1 : bajo, n); } }Personalmente yo prefiero usar este metodo que el de burbuja unos de mis motivos es la fiabilidad.
Ami me paso que a veces la burbuja me fallaba aunque este bien la logica y ademas con el tiempo y practica asumes formas mas elaboradas de programar
No hay comentarios:
Publicar un comentario