import random
#先换一个
def getPosition(array, left, right):
    # 一、先求中,中右换,左为板
    mid = (left+right)//2
    p = array[mid]
    array[mid] = array[right]
    array[right] = p
    board = left
    # 二、再遍历,若小p,i板换,板加一
    for i in range(left, right): #遍历到right-1
        if array[i] < p:
            array[i], array[board] = array[board], array[i]
            board += 1
    # 三、后右板,返回板
    array[right], array[board] = array[board], array[right]
    return board
# 再换全部
def quickSort(l, left, right):
    # 左小右,求p点。p减一,递归右,p加一,递归左。
    if left < right:
        p = getPosition(l, left, right)
        quickSort(l, left, p-1)
        quickSort(l, p+1, right)
# main
n = 10
l = []
for i in range(1, n+1):
    l.append(random.randint(1, 101))
print(l)
quickSort(l, 0, n-1)
print(l)