기본적으로 sort는 오름차순로 정렬한다. 내림차순하고 싶으면 sort(by:)를 사용한다.
제자리에서 정렬하기 때문에 어떤 배열을 리턴하지 않는다.
var arr = [3, 35, 2, 32, 1]
arr.sort() // 1 2 3 32 35
arr.sort(by:>) // 35, 32, 3, 2, 1
sorted는 정렬된 요소를 반환한다.
각 element가 comparable 프로토콜을 따르면 정렬할 수 있다.
var arr = [3, 35, 2, 32, 1]
arr.sorted() // error 발생
let array = arr.sorted()
print(array)
sort는 배열 순서를 변경시켜버리기 때문에 원래 순서가 중요한 경우 sort를 호출하면 심각한 문제가 발생할 수 있다. sorted는 각 값을 복제하고 메모리 사용량을 두배로 늘려준다. 그래서 사이즈가 큰 배열을 sorted하는 경우 메모리 사용량이 많아질 수 있어서 주의해야 한다.