Explorar el Código

quickSort Algo

Jasiel Rivera hace 2 años
padre
commit
9946166a3b
Se han modificado 1 ficheros con 15 adiciones y 3 borrados
  1. 15
    3
      sorting.py

+ 15
- 3
sorting.py Ver fichero

@@ -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