elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


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

Desconectado Desconectado

Mensajes: 10


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

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
  1. public void quicksort(int a[],int inf,int sup)
  2.    {
  3.        int izq,der;
  4.        double pivote;
  5.        izq=inf;
  6.        der=sup;
  7.        pivote=a[(izq+der)/2];
  8.        while(izq<der)
  9.        {
  10.            while(a[izq]<pivote && der<sup)
  11.                izq++;
  12.            while(pivote<a[der] && der>inf)
  13.                der--;
  14.  
  15.            if(inf<der) quicksort(a,inf,der);
  16.            if(izq<sup) quicksort(a,izq,sup);
  17.        }
  18.    }
  19.    public static void main(String args[]) throws Exception
  20.    {
  21.    BufferedReader tcld = new BufferedReader(isr);
  22.    String cad;
  23.    busquedas  obj=new busquedas ();
  24.    do
  25.    {
  26.    System.out.println("\n");      
  27.    System.out.println("M&#233;todos de Ordenaci&#243;n\n");
  28.    System.out.println("----Men&#250;---\n");
  29.    System.out.println("0._Ingresar Valores");
  30.   System.out.println("1._Burbuja");
  31.   System.out.println("2._Quick Short");
  32.   System.out.println("3._Shell");
  33.   System.out.println("4._Salir");
  34.    cad=tcld.readLine();
  35.    opc=Integer.parseInt(cad);    
  36.    switch(opc)
  37.    {
  38.     case 0:
  39. }
  40. case 2:
  41.     {
  42.     System.out.print("\nM&#233;todo Quick Short");
  43.     obj.quicksort(a,1,tam-1); //Aqui esta el error
  44.     cad=tcld.readLine();
  45.            opc1=Integer.parseInt(cad);            
  46.         break;
  47.     }
  48.  


« Última modificación: 11 Noviembre 2011, 17:55 pm por madpitbull_99 » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


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

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

The Dark Shadow is my passion.
RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


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

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 pm »

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
  1. public class algoritmo
  2.    {    
  3.    public static int i,numero,tam,opc,opc1,tmp,izq,der;
  4.    public static int a[];
  5.    public void inicio(int tama&#241;o)
  6.    {
  7.    tam=tama&#241;o;
  8.    a=new int[tam];
  9.    }  
  10.    public void lee(int i, int num)
  11.    {
  12.    a[i]=num;
  13.    }
  14.  
  15.    public void escribe(int tam)
  16.    {
  17.    int i=0;
  18.    for(i=0; i<tam;i++)
  19.    {
  20.    System.out.printf("["+a[i]+"]"+"");        
  21.    }    
  22.    }
  23.  
  24.    public void cambio(int a[],int pos1,int pos2)
  25.    {
  26.    t1=a[pos1];
  27.    a[pos1]=a[pos2];
  28.    a[pos2]=t1;
  29.    }
  30. public void quicksort(int a[],int b,int c)
  31.    {
  32.        double pivote;
  33.        izq=b;
  34.        der=c;
  35.        pivote=a[(izq+der)/2];
  36.        i=b;
  37.        j=c;
  38.        do
  39.        {
  40.            while(a[i]<pivote)i++;
  41.  
  42.            while(a[j]>pivote) j--;
  43.            if(i<=j)
  44.            {
  45.                int tmp;
  46.             tmp=a[i];
  47.             a[i]=a[j];
  48.             a[j]=tmp;
  49.             i++;
  50.             j--;
  51.            }
  52.        }while (i<=j);
  53.  
  54.            if(b<j) quicksort(a,b,j);
  55.            if(i<c) quicksort(a,i,c);
  56.        }
  57.  
  58.    public static void main(String args[]) throws Exception
  59.    {
  60.    BufferedReader tcld = new BufferedReader(isr);
  61.    String cad;
  62.    algoritmo  objeto=new algoritmo ();
  63.    do
  64.    {
  65.    System.out.println("\n");      
  66.    System.out.println("M&#233;todos de Ordenaci&#243;n\n");
  67.    System.out.println("         Men&#250;          \n");
  68.    System.out.println("0._Digite Valores");
  69.    System.out.println("1._Quick Sort");
  70.   System.out.println("3._Salir");
  71.    cad=tcld.readLine();
  72.    opc=Integer.parseInt(cad);    
  73.    switch(opc)
  74.    {
  75.     case 0:
  76.     {    
  77.     System.out.print("Cuantos valores vas a Ingresar: ");
  78.            cad=tcld.readLine();
  79.            tam=Integer.parseInt(cad);            
  80.            objeto.inicio(tam);
  81.            for (i=0;i<tam;i++)
  82.            {
  83.            System.out.print("Posici&#243;n: "+i + "-->");
  84.            cad=tcld.readLine();
  85.            numero=Integer.parseInt(cad);    
  86.            objeto.lee(i, numero);
  87.            }
  88.            objeto.escribe(tam);                
  89.     break;
  90.     }
  91.  
  92.     case 1:
  93.     {
  94.  
  95.     }
  96.      case 2:
  97.     {
  98.     System.out.print("\nM&#233;todo Quick Sort\n");
  99.     objeto.quicksort([b][u]a,0,tam-1[/u][/b]);// este era mi gran error
  100.        objeto.escribe(tam);        
  101.         break;
  102.     }
  103.       default: System.out.println("Salir");
  104.            break;
  105.    }
  106.    }          
  107.  
  108.          while(opc!=2);
  109.    }    
  110. }
  111.  

« Última modificación: 12 Noviembre 2011, 20:06 pm por madpitbull_99 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Descripcion de Metodos JAVA
Java
Lopardo 9 7,785 Último mensaje 19 Febrero 2006, 18:13 pm
por Lopardo
Problema al acceder a métodos en java.
Java
bewa 4 3,649 Último mensaje 27 Diciembre 2011, 01:49 am
por Proteus1989
ejercicios con metodos java
Java
mq1024 9 11,774 Último mensaje 20 Marzo 2012, 15:38 pm
por Lerinor
Evaluar si .java de un directorio sn parte d el proyecto y acceder a metodos
Java
danirebollo 3 2,876 Último mensaje 18 Noviembre 2012, 15:33 pm
por danirebollo
Duda acerca de las clases y metodos en Java
Java
Ila26 3 2,780 Último mensaje 28 Noviembre 2013, 14:19 pm
por trolleoatodos
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines