정의
- pivot(중심축)을 기준으로 작은 숫자는 왼쪽, 큰 숫자는 오른쪽으로 정렬을 반복하는 정렬
코드로 확인
def quickSort(array):
'''
퀵정렬을 통해 오름차순으로 정렬된 array를반환하는 함수를 작성하세요.
'''
if len(array) <= 1 :
return array
pivot = array[0]
left = getSmall(array[1:], pivot)
right = getLarge(array[1:], pivot)
return quickSort(left) + [pivot] + quickSort(right)
def getSmall(array, pivot):
data = []
for i in array:
if i <= pivot:
data.append(i)
return data
def getLarge(array, pivot):
data = []
for i in array:
if i > pivot:
data.append(i)
return data
def main():
line = [int(x) for x in input("정렬할 수를 입력하세요 (예시:10 2 3 4 5 6 9 7 8 1): ").split()]
print('정렬 결과:', *quickSort(line))
if __name__ == "__main__":
main()
정렬할 수를 입력하세요 (예시:10 2 3 4 5 6 9 7 8 1): 10 2 3 4 5 6 9 7 8 1
정렬 결과: 1 2 3 4 5 6 7 8 9 10