Быстрая сортировка с несколькими точками - PullRequest
0 голосов
/ 23 января 2020
def partition(A, k):
  # your code goes here
  pivots = insertionsort(A[-k:])
  arr = [[]]*(k+1)
  for el in A[:-k]:
    if el <= pivots[0]:
      arr[0].append(el)
    elif el >= pivots[-1]:
      arr[-1].append(el)
    else:
      for i in range(1, len(pivots) - 1):
        if pivots[i] <= el < pivots[i+1]:
          arr[i].append(el)
          break

Я пытаюсь получить быструю сортировку с k пивотами. И разбиение должно дать k + 1 часть. Параметры функции не могут быть изменены. Пожалуйста, помогите.

...