리스트로 만들어서 리턴하기: return quick_sort(left) + [pivot] + quick_sort(right)
def qsort(data):
if len(data) <= 1:
return data
left, right = list(), list()
pivot = data[0]
for index in range(1, len(data)):
if pivot > data[index]:
left.append(data[index])
else:
right.append(data[index])
return qsort(left) + [pivot] + qsort(right)
import random
data_list = random.sample(range(100), 10)
qsort(data_list)
실행결과
[7, 11, 13, 24, 26, 38, 41, 76, 78, 88]
def qsort(data):
if len(data) <= 1:
return data
pivot = data[0]
left = [index for index in data[1:] if pivot > index]
right = [index for index in data[1:] if pivot < index]
return qsort(left) + [pivot] + qsort(right)
import random
data_list = random.sample(range(100), 10)
qsort(data_list)
실행결과
[0, 20, 26, 37, 39, 55, 58, 74, 85, 98]