Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import copy
- arr = [57,19,48,26,25,90,73,12,34,29,29,29,200,29,212,73,293,2,203,284,39,123,52,98]
- def swap(arr, pos1, pos2):
- tmp = arr[pos1]
- arr[pos1] = arr[pos2]
- arr[pos2] = tmp
- return arr
- def quicksort(arr):
- p = arr[len(arr)-1] # p ist letzes Element im Array
- z = 0 #Zähler für Position im Array
- for i in range(len(arr)):
- # print(arr[i], p, z)
- if arr[i] <= p:
- arr = swap(arr, i, z)
- z = z+1
- arr1 = arr[0:z-1] # Erster Teil des Arrays ohne p
- arr2 = arr[z:len(arr)] #Zweiter Teil des Arrays ohne p
- if len(arr1) > 1:
- arr1 = quicksort(arr1)
- if len(arr2) > 1:
- arr2 = quicksort(arr2)
- # Sortiertes Array zusammensetzen aus arr1, p, arr2
- arr0 = copy.deepcopy(arr1)
- arr0.append(p)
- arr0.extend(arr2)
- return(arr0)
- result = quicksort(arr)
- print(result)
Add Comment
Please, Sign In to add comment