Quicksort
 
Quicksort
Mis aficiones
Album de fotos
Curriculum vitae
Mis enlaces favoritos
Quicksort
 
Imagen
 
Código
import java.awt.*;
import java.applet.*;
import java.util.*;
public class QuickSort extends Applet{
Button b,b2;
Label lb,lb2,lb3,lb4;
TextField n1,n2,n3,n4,n5,n6,n7,n8;
Checkbox op1,op2,op3,op4;
CheckboxGroup gpo1=new CheckboxGroup();
CheckboxGroup gpo2=new CheckboxGroup();
Panel p,p2,p3;
Random NumAl=new Random();
int[] vect=new int[8];
boolean ban1,ban2;

public void init(){
lb4=new Label("Quick Sort"); add(lb4);
p=new Panel(); add(p);
p2=new Panel(); add(p2);
p3=new Panel(); add(p3);
lb2=new Label("Presentación"); p.add(lb2);
op1=new Checkbox("Ascendente",gpo1,true); p.add(op1);
op2=new Checkbox("Descendente",gpo1,false); p.add(op2);
lb3=new Label("Datos"); p2.add(lb3);
op3=new Checkbox("Aleatoreos",gpo2,false); p2.add(op3);
op4=new Checkbox("Personalizados",gpo2,true); p2.add(op4);
b=new Button("Ordenar"); p2.add(b);
b2=new Button("Limpiar"); p.add(b2);
lb=new Label("Números"); p3.add(lb);
n1=new TextField(""); p3.add(n1);
n2=new TextField(""); p3.add(n2);
n3=new TextField(""); p3.add(n3);
n4=new TextField(""); p3.add(n4);
n5=new TextField(""); p3.add(n5);
n6=new TextField(""); p3.add(n6);
n7=new TextField(""); p3.add(n7);
n8=new TextField(""); p3.add(n8);
ban1=true; ban2=false;
}

public boolean action(Event evt,Object obj){
if(evt.target instanceof Button){
if( evt.target.equals(b) ){
if(!ban2)
Capturar();
ordena(vect,0,7);
Mostrar();
}
if( evt.target.equals(b2) )
Limpiar();
}
else{
if( evt.target.equals(op1) )
ban1=true;
if( evt.target.equals(op2) )
ban1=false;
if( evt.target.equals(op3) ){
ban2=true;
GenerarNum();
Mostrar();
}
if( evt.target.equals(op4) ){
ban2=false;
Limpiar();
}
}
return true;
}

public void Capturar(){
String a;
a=n1.getText();
if(a.compareTo("")==0)
vect[0]=0;
else
vect[0]=( Integer.valueOf(a).intValue() );
n1.setText("");
a=n2.getText();
if(a.compareTo("")==0)
vect[1]=0;
else
vect[1]=( Integer.valueOf(a).intValue() );
n2.setText("");
a=n3.getText();
if(a.compareTo("")==0)
vect[2]=0;
else
vect[2]=( Integer.valueOf(a).intValue() );
n3.setText("");
a=n4.getText();
if(a.compareTo("")==0)
vect[3]=0;
else
vect[3]=( Integer.valueOf(a).intValue() );
n4.setText("");
a=n5.getText();
if(a.compareTo("")==0)
vect[4]=0;
else
vect[4]=( Integer.valueOf(a).intValue() );
n5.setText("");
a=n6.getText();
if(a.compareTo("")==0)
vect[5]=0;
else
vect[5]=( Integer.valueOf(a).intValue() );
n6.setText("");
a=n7.getText();
if(a.compareTo("")==0)
vect[6]=0;
else
vect[6]=( Integer.valueOf(a).intValue() );
n7.setText("");
a=n8.getText();
if(a.compareTo("")==0)
vect[7]=0;
else
vect[7]=( Integer.valueOf(a).intValue() );
n8.setText("");
}

public void Mostrar(){
if(ban1){
n1.setText( Integer.toString(vect[0]) );
n2.setText( Integer.toString(vect[1]) );
n3.setText( Integer.toString(vect[2]) );
n4.setText( Integer.toString(vect[3]) );
n5.setText( Integer.toString(vect[4]) );
n6.setText( Integer.toString(vect[5]) );
n7.setText( Integer.toString(vect[6]) );
n8.setText( Integer.toString(vect[7]) );
}
else{
n1.setText( Integer.toString(vect[7]) );
n2.setText( Integer.toString(vect[6]) );
n3.setText( Integer.toString(vect[5]) );
n4.setText( Integer.toString(vect[4]) );
n5.setText( Integer.toString(vect[3]) );
n6.setText( Integer.toString(vect[2]) );
n7.setText( Integer.toString(vect[1]) );
n8.setText( Integer.toString(vect[0]) );
}
}

public void Limpiar(){
n1.setText("");
n2.setText("");
n3.setText("");
n4.setText("");
n5.setText("");
n6.setText("");
n7.setText("");
n8.setText("");
}
public void GenerarNum(){
for(int i=0; i<8; i++){
vect[i]=NumAl.nextInt();
while(vect[i]<0 || vect[i]>99){
if(vect[i]<0)
vect[i]=vect[i]*(-1);
else
vect[i]=vect[i]/10;
}
}
}
void ordena(int vect[],int izq,int der){
int i=0,j=0;
int x=0,aux=0;

i=izq;
j=der;
x=vect[(izq+der)/2];
do{
while((vect[i]<x) && (j<=der)){
i++;}
while((x<vect[j]) && (j>izq)){
j--;}
if(i<=j){
aux=vect[i];
vect[i]=vect[j];
vect[j]=aux;
i++; j--;
}
}while(i<=j);
if(izq < j)
ordena(vect,izq,j);
if(i < der)
ordena(vect,i,der);
}

}
 
Este es otro párrafo que puedes editar del mismo modo.
Escríbeme
Me interesa tu opinión