필요가 있어 테스트로 만들었다가 데이터의 양이 너무 많아 다른 방법으로 처리하게 됨...
그래서 버려진 소스 ㅋㅋㅋㅋㅋㅋ
나중에 써먹기 위한, 순전히 나만을 위한 포스팅.
ㅋ
var arr : [Any] = []
let count = 200000
func quickSort(left: Int, right: Int) {
var i = left
var j = right
let p = Int((i+j)/2)
let pivotNumber = arr[p]
while i <= j {
while arr[i] < pivotNumber {
if i == count-1 {
break
}
i += 1
}
while arr[j] > pivotNumber {
if j == 0 {
break
}
j -= 1
}
if i < j {
let tmp = arr[i]
arr[i] = arr[j]
arr[j] = tmp
}
i += 1
j -= 1
}
if left < j {
quickSort(left: left, right: j)
}
if i < right {
quickSort(left: i, right: right)
}
}
코드를 복붙 후 보안을 위해 변수명을 수정했으니 복붙만 하시면 실제로 안돌아갈지도 모릅니다 ㅎㅎㅎ
그리고 여기서 사족을 제거할 수 있는 방법이 있다면, 댓글토론도 환영합니다 ㅎㅎㅎ
정렬 알고리즘에 관해 상세하게 설명한 페이지를 첨부합니다.
http://hsp1116.tistory.com/33
https://ko.wikipedia.org/wiki/퀵_정렬
'Development > Solutions' 카테고리의 다른 글
CXErrorCodeCallDirectoryManagerError (0) | 2018.04.13 |
---|---|
[Swift3] 그림자를 만들자 (0) | 2017.02.08 |
[ios - swift] 네이버 로그인 달기 (0) | 2016.10.31 |
[iOS - swift] 구글 로그인 달기 (1) | 2016.10.21 |
WRITTEN BY
- minjee
우리는 무엇을 할 수 있을까?