0 votos
por (20 puntos) en Java
Hola necesito que me explique como funciona este código del método QuickSort

public class QuickSort {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int array []={8,7,3,1,9};
        System.out.println("QUICK SORT\n");
        System.out.println("VALOR ANTES DEL QUICKSORT:\n");
        for(int i =0;i<array.length;i++){
            System.out.println(array[i]+"");
            System.out.println();
        }
        quick_srt(array,0,array.length-1);
        System.out.println("\n\n\nVALORES DESPUES DEL QUICK SORT:\n\n");
        for(int i =0;i<array.length;i++){
            System.out.println(array[i]+"");
            System.out.println();}
       
           
        }
    public static void quick_srt(int array[],int low,int n){
        int lo=low;
        int hi=n;
        if(lo>=n){
            return;
        }
        int mid=array[(lo+hi)/2];
        while (lo<hi){
           
            while (lo<hi&& array[lo]<mid){
                lo++;
            }
            while (lo<hi&& array[hi]>mid){
                hi--;
            }
            if(lo<hi){
                int T=array[lo];
                array[lo]=array[hi];
                array[hi]=T;
            }
            if(hi<lo){
                int T=hi;
                hi=lo;
                lo=T;
               
                       
            }
            quick_srt(array,low,lo);
            quick_srt(array,lo==low?lo+1:lo,n);
        }
       
       
       

    }

   
       
    }

1 Respuesta

+1 voto
por (140 puntos)
creo que es el algoritmo en java para calcular el ordenamiento rapido
https://es.wikipedia.org/wiki/Quicksort

por lo que entiendo de la wikipedia y en teoria lo que hace el codigo es ordenar los numeros desorndenados en un array y ordenarlos en orden acendente

espero te sirva y mira la pagina de wiki

Preguntas relacionadas

Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...