필요가 있어 테스트로 만들었다가 데이터의 양이 너무 많아 다른 방법으로 처리하게 됨...

그래서 버려진 소스 ㅋㅋㅋㅋㅋㅋ

나중에 써먹기 위한, 순전히 나만을 위한 포스팅.



    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
우리는 무엇을 할 수 있을까?

,