퀵소트 알고리즘에 대해서는 위에서 언급이 되었으므로, 이를 구현하기 위한 세부 코드에 대해 연습을 통해 이해합니다.
data_list = [1, 2, 3, 4, 5] 출력: print (data1) print (data2) print (data3) [1, 2] 3 [4, 5]
data_list = [4, 1, 2, 5, 7]
import random data_list = random.sample(range(100), 10)left = list()
right = list()
pivot = data_list[0]for index in range(1, -----------------):
if data_list[index] < pivot:
left.append(data_list[index])
else:
right.append(data_list[index])
data_list = [4, 3, 2]
리스트로 만들어서 리턴하기: 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)
[2, 20, 35, 39, 49, 51, 57, 74, 82, 94]
def qsort(data):
if len(data) <= 1:
return data
pivot = data[0]
left = [ item for item in data[1:] if pivot > item ]
right = [ item for item in data[1:] if pivot <= item ]
return qsort(left) + [pivot] + qsort(right)
import random
data_list = random.sample(range(100), 10)
qsort(data_list)
[5, 10, 37, 43, 61, 71, 77, 78, 82, 84]