|
@@ -79,9 +79,23 @@ def heapSort(lista):
|
79
|
79
|
|
80
|
80
|
return lista
|
81
|
81
|
|
82
|
|
-def quickSort(lista):
|
83
|
|
- # definan el algoritmo de ordenamiento quicksort
|
84
|
|
- return lista
|
|
82
|
+def quickSort(lista, bajo, alto):
|
|
83
|
+ if bajo < alto:
|
|
84
|
+ p = partition(lista, bajo, alto)
|
|
85
|
+ quickSort(lista, bajo, p - 1)
|
|
86
|
+ quickSort(lista, p + 1, alto)
|
|
87
|
+ return lista
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+def partition(lista, bajo, alto):
|
|
91
|
+ pivot = lista[alto]
|
|
92
|
+ i = bajo - 1
|
|
93
|
+ for j in range(bajo, alto):
|
|
94
|
+ if lista[j] <= pivot:
|
|
95
|
+ i += 1
|
|
96
|
+ lista[i], lista[j] = lista[j], lista[i]
|
|
97
|
+ lista[i + 1], lista[alto] = lista[alto], lista[i + 1]
|
|
98
|
+ return i + 1
|
85
|
99
|
|
86
|
100
|
def shellSort(lista):
|
87
|
101
|
# definan el algoritmo de ordenamiento shellsort
|