스위프트의 정렬 sort와 sorted 차이점에 대해서 알아보려 합니다. 먼저 sort 함수를 살펴봅시다. sort는 (in place) 제자리에서 정렬합니다. 또한 각 Element가 Comparable 프로토콜을 따라야 정렬할 수 있습니다. 기본적으로 sort는 오름차순으로 정렬됩니다. 내림차순으로 정렬하고 싶으면 sort(by: ) 함수를 활용해서 sort(by: >)로 작성해주면 됩니다. var arr = [3,35,5,32,1] arr.sort() print(arr) // [1, 3, 5, 32, 35] arr.sort(by: >) print(arr) // [35, 32, 5, 3, 1] 제자리에서 정렬하기 때문에 어떠한 배열을 리턴하지 않습니다. 시간 복잡도는 O(nlogn)을 나타내고 n은 ..
삽입 정렬은 적절한 인덱스에 삽입해주는 정렬입니다. 삽입 정렬은 두 번째 원소부터 시작해서 그 앞의 원소들과 비교해 삽입할 위치를 지정한 후, 지정한 자리에 원소를 삽입해 정렬합니다. 또한 앞에 있는 원소는 이미 정렬되어 있다고 가정합니다. 코드를 살펴봅시다. arr는 우리가 정렬해야 할 배열이며, 1부터 7까지 정렬되지 않은 상태로 존재합니다. arr의 크기는 7이고 인덱스는 0부터 6까지 입니다. 두 번째 원소부터 시작한다 했으니 for문은 인덱스 1부터 6까지 돌기 위한 용도이며, while문은 for문의 i보다 아래 인덱스 중 큰 값이 있으면 swap하기 위한 용도입니다. y는 아래 인덱스까지 모두 탐색하기 위한 변수입니다. 그럼 차근차근 살펴봅시다. for loop에서 i가 1일 때 y가 1인 ..
- Total
- Today
- Yesterday
- leetcode
- rxswift
- stanford SwiftUI
- ReactiveX
- swiftUI
- ios
- iOS SwiftUI
- 머신러닝
- 애니메이션
- ARC
- 스위프트UI
- Animation
- Xcode
- 책
- Algorithm
- 스위프트
- 알고리즘
- 독서
- Deep learning
- objective-c
- SWIFT
- swift5
- 딥러닝
- objc
- string
- 문자열
- 책 추천
- 책 후기
- RX
- wwdc
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |