2 Révisions

Auteur SHA1 Message Date
  ricardo ba969fbfbe Merge remote-tracking branch 'origin/sortingYaoWei' into sortingFinal il y a 3 ans
  Ydnek1 2418628a71 anadir quick sort il y a 3 ans
1 fichiers modifiés avec 26 ajouts et 1 suppressions
  1. 26
    1
      sorting.py

+ 26
- 1
sorting.py Voir le fichier

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