私信  •  关注

zzz振奎

zzz振奎 最近回复了

!/user/bin/python3

coding:utf-8

快速排序(quick sort)

def quicksort(L): qsort(L,0,len(L) - 1)

def qsort(L,first,last): if first < last: split = partition(L,first,last) qsort(L,first,split - 1) qsort(L,spilt + 1,last)

def partition(L,first,last): pivot = L[first] leftmark = first + 1 rightmark = last while Ture: while L[leftmark] <= pivot: if leftmark == rightmark: break leftmark += 1 while L[rightmark] > pivot: rightmark -= 1 if leftmark < rightmark: L[leftmark], L[rightmark] = L[rightmark], L[leftmark] else: break L[first], L[rightmark] = L[rightmark], L[first] return rightmark num_list = [5, -4, 6, 37, 11, 1, 2] print('排序之前:', + str(num_list)) quicksort(num_list) print('排序之后:', + str(num_list))

求大神指教