Pārlūkot izejas kodu

Merge branch 'QuickJasiel' into sortingFinal

Jasiel Rivera 2 gadus atpakaļ
vecāks
revīzija
699263d1f1
1 mainītis faili ar 17 papildinājumiem un 3 dzēšanām
  1. 17
    3
      sorting.py

+ 17
- 3
sorting.py Parādīt failu

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