왕논의 연구실

배열 정렬에 대한 연구 본문

iOS/Swift

배열 정렬에 대한 연구

ywangnon 2021. 1. 6. 22:44

1. Sort, Sorted 차이

 

sort: 배열 차체가 정렬된다.

sorted: 정렬된 배열을 리턴값으로 준다. 배열 자체는 바뀌지 않는다.

 

2. 정렬

 

1차원

 

var arr = [15, 12, 50, 43, 33, 67]

let newArr = arr.sorted(by: <)

 

2차원

 

var arr: Array<SortModel> = []

let model1 = SortModel(king: true, name: "아무무")
let model2 = SortModel(king: false, name: "밴시여왕")
let model3 = SortModel(king: true, name: "쓰랄")
let model4 = SortModel(king: false, name: "제이나")
let model5 = SortModel(king: false, name: "가로쉬")
let model6 = SortModel(king: true, name: "스웨인")
let model7 = SortModel(king: false, name: "가라")
let model8 = SortModel(king: true, name: "두둥등장")

arr.append(model1)
arr.append(model2)
arr.append(model3)
arr.append(model4)
arr.append(model5)
arr.append(model6)
arr.append(model7)
arr.append(model8)

let newArr3 = arr.sorted { (m1, m2) -> Bool in
    if m1.king != m2.king {
        return m1.king ? true : false
    } else {
        return m1.name < m2.name
    }
}

for a in newArr3 {
    print(a)
}

struct SortModel {
    var king: Bool
    var name: String
}

 

'iOS > Swift' 카테고리의 다른 글

[Swift]동적 아이콘 변경  (0) 2021.09.22
[Swift]삼항연산자(?), 옵셔널 기본처리(??)  (0) 2021.09.22
[Swift]디버깅 식별자  (0) 2021.09.22
[Swift] Gesture Recogniger 짧게 요약  (0) 2021.09.17
한글 입력 제한에 대해서  (0) 2021.01.27