파이썬 알고리즘중 퀵정렬 예제

 

arr=[5,3,8,4,9,1,6,2,7]

# 퀵정렬 함수 정의

def quick_sort(arr):

  # 배열의 길이가 1 이하이면 정렬할 필요가 없으므로 그대로 반환

  if len(arr) <= 1:

    return arr

  # 배열의 첫 번째 요소를 피벗으로 선택

  pivot = arr[0]

  # 피벗을 제외한 나머지 요소들을 피벗보다 작은 것과 큰 것으로 분리

  left = [x for x in arr[1:] if x < pivot]

  right = [x for x in arr[1:] if x >= pivot]

  # 왼쪽과 오른쪽 부분을 재귀적으로 퀵정렬하고, 피벗과 합쳐서 반환

  return quick_sort(left) + [pivot] + quick_sort(right)

 

# 예시 배열

arr = [5, 3, 8, 4, 9, 1, 6, 2, 7]

# 퀵정렬 함수 호출

sorted_arr = quick_sort(arr)

# 정

print(arr)

print(sorted_arr)

2113676309_1705544698.0615.jpg

|

댓글 1개

상관 없는 글인듯

** 삭제요망

댓글을 작성하시려면 로그인이 필요합니다.

그누보드6 팁자료실

그누보드6, 파이썬에 대한 팁과 자료를 올려주세요. 그누보드6 실서비스를 위한 웹서버 설정

+
제목 글쓴이 날짜 조회
2년 전 조회 1,187
2년 전 조회 1,416
2년 전 조회 1,084
2년 전 조회 958
2년 전 조회 1,200
2년 전 조회 881
2년 전 조회 1,308
2년 전 조회 824
2년 전 조회 670
2년 전 조회 1,171
2년 전 조회 1,247
2년 전 조회 813
2년 전 조회 1,293
2년 전 조회 927
2년 전 조회 1,882
2년 전 조회 767
2년 전 조회 1,201
2년 전 조회 1,490
2년 전 조회 1,084
2년 전 조회 1,432
2년 전 조회 1,284
2년 전 조회 1,443
2년 전 조회 1,033
2년 전 조회 2,159
2년 전 조회 1,953
2년 전 조회 1,203
2년 전 조회 705
2년 전 조회 900
2년 전 조회 2,508
2년 전 조회 3,189