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

 

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,288
2년 전 조회 1,529
2년 전 조회 1,178
2년 전 조회 1,029
2년 전 조회 1,279
2년 전 조회 937
2년 전 조회 1,402
2년 전 조회 912
2년 전 조회 770
2년 전 조회 1,250
2년 전 조회 1,307
2년 전 조회 885
2년 전 조회 1,350
2년 전 조회 1,028
2년 전 조회 1,989
2년 전 조회 866
2년 전 조회 1,271
2년 전 조회 1,636
2년 전 조회 1,170
2년 전 조회 1,521
2년 전 조회 1,366
2년 전 조회 1,547
2년 전 조회 1,116
2년 전 조회 2,245
2년 전 조회 2,041
2년 전 조회 1,281
2년 전 조회 784
2년 전 조회 988
2년 전 조회 2,611
2년 전 조회 3,311