facusantos
Usuario (Colombia)

Hola taringueros En esta ocasión les traigo a los que necesitan un código de JAVA que no use tantas cosas como me he dado cuenta en algunas partes sobre este código de Java de Quicksort espero sea útil como a mi me lo fue. Este código lo hize solo con JOption y un Objeto sencillo con datos primitivos es mas sencillo espero les sirva!!!!1 import javax.swing.JOptionPane; /* * @uthor: Sir FaCu..... * xfiire: facu1 */ public class Quicksortorden { mercado cab=null; mercado fin=null; mercado aux=null; public static void main(String[] args) { Quicksortorden a=new Quicksortorden(); a.menu(); } void menu() { int op=0; do{ op=Integer.parseInt(JOptionPane.showInputDialog("QUICKSORTnnt1. CREAR MERCADOnt2. AGREGAR MERCADOnt3.ORDENAR QUICKSORTnt4.SALIR"); switch(op) { case 1:crear(); break; case 2:agregar(); break; case 3:aux=cab; while(aux!=null) { quick(aux,0,20); quickpresion(aux); aux=aux.sig; } break; } }while(op!=4); } void crear() { if(cab==null) { cab=new mercado(); } else { JOptionPane.showMessageDialog(null,"YA EXISTE UN MERCADO SERA REDIRECCIONADO A AGREGAR"; agregar(); } } void agregar() { if(cab==null) { JOptionPane.showMessageDialog(null,"NO EXISTE UN MERCADO SERA REDIRECCIONADO A CREAR"; crear(); } else { aux=new mercado(); fin.sig=aux; fin=aux; } } static void quick(mercado aux, int p, int r) { System.out.println("quick ini"; if(p < r) { System.out.println("p es "+p+" r= "+r); int q = dividir(aux, p, r); quick(aux, p, q - 1); quick(aux, q + 1, r); } System.out.println("quick fin"; } static int dividir(mercado aux, int p, int r) { System.out.println("partir"; int x = aux.vec; int i = p - 1, t; System.out.println("p es "+p+" r= "+r+"i es "+i); for(int j = p; j < r; j++) { if(aux.vec <= x) { i++; t = aux.vec; aux.vec = aux.vec; aux.vec = t; } } t = aux.vec[i + 1]; aux.vec[i + 1] = aux.vec; aux.vec = t; return i + 1; } public void quickpresion(mercado aux) { String cad=""; while(aux!=null) { for(int i=0;i<10;i++) { cad=cad+" - "+String.valueOf(aux.vec)+" - "; } aux=aux.sig; } JOptionPane.showMessageDialog(null,"ORDENAMIENTO QUICKSORT: n "+cad); } }