Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Giankaa en 7 Junio 2016, 03:21 am



Título: Explicación quicksort usando recursividad
Publicado por: Giankaa en 7 Junio 2016, 03:21 am
Hola, vengo a pedir ayudaaaa :-( :-( alguien podría explicarme como funciona el método de ordenamiento quicksort usando la recursividad? He estado mucho tiempo intentando realizarlo pero no me sale, solo me da algún error y así, debo ingresar n números a un vector, luego ordenarlos por ese método, he visto vídeos y no me funcionan las cosas, quería ponerlo en diagrama de flujo para ver si entendía mejor pero nada, espero me ayuden pronto, tengo desesperación T.T :-( gracias...


Título: Re: Explicación quicksort usando recursividad
Publicado por: engel lex en 7 Junio 2016, 03:24 am
muestra tu implementación para ver donde tienes el error


Título: Re: Explicación quicksort usando recursividad
Publicado por: Giankaa en 7 Junio 2016, 03:36 am
Lo estoy haciendo en diagrama de flujo
sin embargo tengo esto de código:
START
    menor=1
    REPEAT
        WRITE "Cuantos números ingresará: ?"
        READ n
        IF n<2 THEN
            WRITE "Ingrese un número mayor o igual a 2"
        ENDIF
    TO n>=2
    FOR i = 1 TO n STEP 1 DO
        WRITE "Ingrese valor para la posición",i,"del vector: "
        READ valor
        vector=valor
    ENDFOR
    nuevo=CALL ordenamiento(vector,1,n)
END
ENTER vector,inicio,final
    izq=inicio
    der=final
    pivote=vector[(inicio+final)]//2
    WHILE izq<=der DO
        FOR izq = inicio TO vector[izq]-1 STEP 1 DO
            FOR der = final TO vector[der] STEP -1 DO
                IF izq<=der THEN
                    temp=vector[izq]
                    vector[izq]=vector[der]
                    vector[der]=temp
                    izq=izq+1
                    der=der-1
                ENDIF
            ENDFOR
        ENDFOR
    ENDWHILE
    IF inicio<der THEN
        ordenamiento(vector,inicio,der)
    ENDIF
    IF izq<final THEN
        ordenamiento(vector,izq,final)
    ENDIF
RETURN