Ver código fonte

Merge branch 'QuickJasiel' into sortingFinal

Jasiel Rivera 2 anos atrás
pai
commit
699263d1f1
1 arquivos alterados com 17 adições e 3 exclusões
  1. 17
    3
      sorting.py

+ 17
- 3
sorting.py Ver arquivo

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