elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 23:33  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Metodo quicksort en java
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Metodo quicksort en java  (Leído 1,657 veces)
ship

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Metodo quicksort en java
« en: 11 Noviembre 2011, 07:50 »

ayuda
tengo un codigo en java de los metodos de busqueda
pero me marca error al llamar este metodo en el main al pasar los parametros de quicksort alguien puede corregir mi codigo porfavor
Código
public void quicksort(int a[],int inf,int sup)
   {
       int izq,der;
       double pivote;
       izq=inf;
       der=sup;
       pivote=a[(izq+der)/2];
       while(izq<der)
       {
           while(a[izq]<pivote && der<sup)
               izq++;
           while(pivote<a[der] && der>inf)
               der--;
 
           if(inf<der) quicksort(a,inf,der);
           if(izq<sup) quicksort(a,izq,sup);
       }
   }
   public static void main(String args[]) throws Exception
   {
   InputStreamReader isr=new InputStreamReader(System.in);
   BufferedReader tcld = new BufferedReader(isr);
   String cad;
   busquedas  obj=new busquedas ();
   do
   {
   System.out.println("\n");      
   System.out.println("M&#233;todos de Ordenaci&#243;n\n");
   System.out.println("----Men&#250;---\n");
   System.out.println("0._Ingresar Valores");
  System.out.println("1._Burbuja");
  System.out.println("2._Quick Short");
  System.out.println("3._Shell");
  System.out.println("4._Salir");
   cad=tcld.readLine();
   opc=Integer.parseInt(cad);    
   switch(opc)
   {
    case 0:
}
case 2:
    {
    System.out.print("\nM&#233;todo Quick Short");
    obj.quicksort(a,1,tam-1); //Aqui esta el error
    cad=tcld.readLine();
           opc1=Integer.parseInt(cad);            
        break;
    }
 


« Última modificación: 11 Noviembre 2011, 17:55 por madpitbull_99 » En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.830


I'Love...!¡.


Ver Perfil WWW
Re: Metodo quicksort en java
« Respuesta #1 en: 11 Noviembre 2011, 08:19 »

En donde declarasel array a? tam?... no los veo... identa tu codigo se ve horrendo asi... bueno no horrendo si no que no se puede leer acorde a la idea...

Dulces Lunas!¡.


En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
RyogiShiki


Desconectado Desconectado

Mensajes: 708


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Metodo quicksort en java
« Respuesta #2 en: 11 Noviembre 2011, 16:24 »

Tu código es un completo desastre! Por favor idéntalo, haz algo con las llaves que faltan, completa la aprte while del do, Sie stás trabajando con un IDE como NetBeans puedes hacer Alt+Mayus+F y el solo formatea el código. Imagino que el método quickshort pertenece a una clase llamada búsquedas, sería bueno que separaras las dos partes del código en secciones diferentes, y que nos mostraras la clase búsquedas,  y por último usa las etiquetas GeSHi para poner tu código, así es más fácil leerte:
En línea

ship

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Metodos en java
« Respuesta #3 en: 12 Noviembre 2011, 18:02 »

ok pues verifique mi codigo modifique algunas cosas y listo ya tengo lo que necesito...funciona mi programa y pues con los demas metodos no hay problema funcionan bien, de antemano gracias.

Código
public class algoritmo
   {    
   public static int i,numero,tam,opc,opc1,tmp,izq,der;
   public static int a[];
   public void inicio(int tama&#241;o)
   {
   tam=tama&#241;o;
   a=new int[tam];
   }  
   public void lee(int i, int num)
   {
   a[i]=num;
   }
 
   public void escribe(int tam)
   {
   int i=0;
   for(i=0; i<tam;i++)
   {
   System.out.printf("["+a[i]+"]"+"");        
   }    
   }
 
   public void cambio(int a[],int pos1,int pos2)
   {
   t1=a[pos1];
   a[pos1]=a[pos2];
   a[pos2]=t1;
   }
public void quicksort(int a[],int b,int c)
   {
       double pivote;
       izq=b;
       der=c;
       pivote=a[(izq+der)/2];
       i=b;
       j=c;
       do
       {
           while(a[i]<pivote)i++;
 
           while(a[j]>pivote) j--;
           if(i<=j)
           {
               int tmp;
            tmp=a[i];
            a[i]=a[j];
            a[j]=tmp;
            i++;
            j--;
           }
       }while (i<=j);
 
           if(b<j) quicksort(a,b,j);
           if(i<c) quicksort(a,i,c);
       }
 
   public static void main(String args[]) throws Exception
   {
   InputStreamReader isr=new InputStreamReader(System.in);
   BufferedReader tcld = new BufferedReader(isr);
   String cad;
   algoritmo  objeto=new algoritmo ();
   do
   {
   System.out.println("\n");      
   System.out.println("M&#233;todos de Ordenaci&#243;n\n");
   System.out.println("         Men&#250;          \n");
   System.out.println("0._Digite Valores");
   System.out.println("1._Quick Sort");
  System.out.println("3._Salir");
   cad=tcld.readLine();
   opc=Integer.parseInt(cad);    
   switch(opc)
   {
    case 0:
    {    
    System.out.print("Cuantos valores vas a Ingresar: ");
           cad=tcld.readLine();
           tam=Integer.parseInt(cad);            
           objeto.inicio(tam);
           for (i=0;i<tam;i++)
           {
           System.out.print("Posici&#243;n: "+i + "-->");
           cad=tcld.readLine();
           numero=Integer.parseInt(cad);    
           objeto.lee(i, numero);
           }
           objeto.escribe(tam);                
    break;
    }
 
    case 1:
    {
 
    }
     case 2:
    {
    System.out.print("\nM&#233;todo Quick Sort\n");
    objeto.quicksort([b][u]a,0,tam-1[/u][/b]);// este era mi gran error
       objeto.escribe(tam);        
        break;
    }
      default: System.out.println("Salir");
           break;
   }
   }          
 
         while(opc!=2);
   }    
}
 

« Última modificación: 12 Noviembre 2011, 20:06 por madpitbull_99 » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Metodos de intrusionn
Hacking Básico
Keydash 1 467 Último mensaje 23 Diciembre 2004, 08:49
por returnZ
Descripcion de Metodos JAVA
Java
Lopardo 9 2,801 Último mensaje 19 Febrero 2006, 18:13
por Lopardo
sobrecarga de metodos, se puede aplicar en metodos abstract o interfaces?
Desarrollo Web
jhonatanAsm 0 337 Último mensaje 16 Agosto 2011, 00:22
por jhonatanAsm
Problema al acceder a métodos en java.
Java
bewa 4 816 Último mensaje 27 Diciembre 2011, 01:49
por Proteus1989
ejercicios con metodos java
Java
mq1024 9 1,011 Último mensaje 20 Marzo 2012, 15:38
por Lerinor
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines