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...
muestra tu implementación para ver donde tienes el error
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