Funcion recursiva para ordenar arrays por el método de QuickSort
**************************************
* Funcion recursiva para ordenar arrays por el método de QuickSort
* L es el límite inferior del arreglo y R el limite superior
* o lo que es lo mismo L es la parte izquirda de la particion y R la derecha
*
* Se utiliza A como una variable privada previamente definida
* Ejemlo de uso
*
*Dimension a[3]
*A[1]=5
*A[2]=4
*A[3]=3
*qsort(1,3)
*?A[1],A[2],a[3]
*
* Autor: Ramón Rodriguez Martinez
**************************************
procedure qSort(l, r)
Local i, j, x, y
i = l
j = r
x = a[Int((l+r)/2)]
Do While i < j
Do while a[i] < x
i = i + 1
EndDo
Do while x < a[j]
j = j - 1
EndDo
if i <= j then
y = a[i]
a[i] = a[j]
a[j] = y
i = i + 1
j = j - 1
endIf
EndDo
if l < j then
qSort(l, j)
endif
if i < r then
qSort(i, r)
endif
endProc
Ramón Rodriguez Martinez
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.