Stack/Algorithm
[유니티 C#] 퀵 정렬(Quick sort) 구현
Seo_re:
2022. 10. 6. 21:30
반응형
이전에 C로 퀵정렬을 구현한 글을 썼었는데, 육안으로 과정이 보이는 글이 아닌 코드만 작성되어있는 글이어서 유니티 C#으로 퀵 정렬 과정을 육안으로 확인할 수 있도록 제작해봤다.
만들면서 파티션 정렬하는 과정에서 high index가 파티션 배열의 범위를 벗어나는 버그가 있었는데, 단순히 조건문 순서상의 오류라 바로 수정했다. (생각보다 그 글이 조회수가 좀 됐는데, 글을 보신 분들이 문제 제기를 안했다는게 의아함)
1. 유니티 C# 퀵정렬 프로젝트
- 코드가 아닌 유니티 프로젝트로 올립니다. (깃허브)
2. QuickSort 컴포넌트 설명
- TargetArrSize : 배열의 길이를 지정할 수 있다.
- Min, Max : 배열 요소의 최소값과 최대값. (지정한 범위 안에서 랜덤 함수로 지정된다.)
- Delay : 정렬하는 속도 (값이 높을수록 느려집니다. WaitForSeconds값.)
※ Scene에 버튼 2개가 붙어있는데, Create arr 버튼으로 배열을 생성하고, Quick sort 버튼을 누르면 정렬이 시작되며 정렬 과정을 눈으로 확인할 수 있습니다.
※ low index - Red, high index - Blue, pivot index - cyan
※ 정렬이 완료되면 UI element가 초록색으로 변합니다.
3. 퀵정렬 설명
반응형