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 endProcRamón Rodriguez Martinez
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.