diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 807513539..84a5c7473 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -14,3 +14,4 @@ Unlambder Kjetil Johannessen CDsigma DominikRafacz +KerimovEmil diff --git a/chapters/euclidean_algorithm/code/python/euclidean_example.py b/chapters/euclidean_algorithm/code/python/euclidean_example.py index 3e6d22851..088b60834 100644 --- a/chapters/euclidean_algorithm/code/python/euclidean_example.py +++ b/chapters/euclidean_algorithm/code/python/euclidean_example.py @@ -1,5 +1,4 @@ def euclid_mod(a, b): - a = abs(a) b = abs(b) @@ -9,7 +8,6 @@ def euclid_mod(a, b): return a def euclid_sub(a, b): - a = abs(a) b = abs(b) diff --git a/chapters/sorting_searching/quicksort/code/python/quicksort.py b/chapters/sorting_searching/quicksort/code/python/quicksort.py new file mode 100644 index 000000000..cf1cba37f --- /dev/null +++ b/chapters/sorting_searching/quicksort/code/python/quicksort.py @@ -0,0 +1,29 @@ +# submitted by KerimovEmil +import random + + +def quick_sort(array): + ls_lower = [] + ls_upper = [] + ls_pivot = [] + if len(array) <= 1: + return array + else: + pivot = array[0] # pick any element from array + for i in array: # for each element in array, place in one of 3 lists + if i < pivot: + ls_lower.append(i) + elif i > pivot: + ls_upper.append(i) + else: + ls_pivot.append(i) + ls_lower = quick_sort(ls_lower) + ls_upper = quick_sort(ls_upper) + return ls_lower + ls_pivot + ls_upper + + +if __name__ == '__main__': + a = [random.randint(-100, 100) for _ in range(10)] + print("Before Sorting {}".format(a)) + a = quick_sort(a) + print("After Sorting {}".format(a)) diff --git a/chapters/sorting_searching/quicksort/quick_sort.md b/chapters/sorting_searching/quicksort/quick_sort.md new file mode 100644 index 000000000..fbcfcefb4 --- /dev/null +++ b/chapters/sorting_searching/quicksort/quick_sort.md @@ -0,0 +1,2 @@ +# Quick Sort +# TODO make this file