|
@@ -129,9 +129,34 @@ def maxHeapify(lista, k, heapsize):
|
129
|
129
|
lista[max] = temp
|
130
|
130
|
maxHeapify(lista, max, heapsize)
|
131
|
131
|
|
|
132
|
+
|
|
133
|
+def partition(lista, low, high):
|
|
134
|
+ pivot = lista[high]
|
|
135
|
+
|
|
136
|
+ i = low - 1
|
|
137
|
+
|
|
138
|
+ for j in range(low, high):
|
|
139
|
+ if (lista[j] < pivot):
|
|
140
|
+ i += 1
|
|
141
|
+ lista[i], lista[j] = lista[j], lista[i]
|
|
142
|
+
|
|
143
|
+ lista[i+1], lista[high] = lista[high], lista[i+1]
|
|
144
|
+
|
|
145
|
+ return i + 1
|
|
146
|
+
|
|
147
|
+def quickSortRec(lista, low, high):
|
|
148
|
+
|
|
149
|
+ if (low < high):
|
|
150
|
+ p = partition(lista, low, high)
|
|
151
|
+
|
|
152
|
+ quickSortRec(lista, low, p - 1)
|
|
153
|
+ quickSortRec(lista, p + 1, high)
|
|
154
|
+
|
|
155
|
+ return lista
|
|
156
|
+
|
132
|
157
|
def quickSort(lista):
|
133
|
158
|
#definan el algoritmo de ordenamiento quicksort
|
134
|
|
- return lista
|
|
159
|
+ return quickSortRec(lista, 0, len(lista) - 1)
|
135
|
160
|
|
136
|
161
|
def insertionSort(lista):
|
137
|
162
|
|