|
@@ -17,9 +17,21 @@ def heapSort(lista):
|
17
|
17
|
#definan el algoritmo de ordenamiento heapsort
|
18
|
18
|
return lista
|
19
|
19
|
|
20
|
|
-def quickSort(lista):
|
21
|
|
- #definan el algoritmo de ordenamiento quicksort
|
22
|
|
- return lista
|
|
20
|
+def quickSort(lista, bajo, alto):
|
|
21
|
+ if bajo < alto:
|
|
22
|
+ p = partition(lista, bajo, alto)
|
|
23
|
+ quickSort(lista, bajo, p - 1)
|
|
24
|
+ quickSort(lista, p + 1, alto)
|
|
25
|
+
|
|
26
|
+def partition(lista, bajo, alto):
|
|
27
|
+ pivot = lista[alto]
|
|
28
|
+ i = bajo - 1
|
|
29
|
+ for j in range(bajo, alto):
|
|
30
|
+ if lista[j] <= pivot:
|
|
31
|
+ i += 1
|
|
32
|
+ lista[i], lista[j] = lista[j], lista[i]
|
|
33
|
+ lista[i + 1], lista[alto] = lista[alto], lista[i + 1]
|
|
34
|
+ return i + 1
|
23
|
35
|
|
24
|
36
|
def shellSort(lista):
|
25
|
37
|
#definan el algoritmo de ordenamiento shellsort
|