728x90
fun bubbleSort(arr: MutableList<Int>, size: Int) {
// 종료 조건
if(size == 1) return
// 함수가 수행해야 하는 작업: 1 회 탐색을 통해 해결할 문제
arr.subList(0, size - 1)
.forEachIndexed { index, _ ->
if(arr[index] > arr[index + 1]) {
val temp = arr[index]
arr[index] = arr[index + 1]
arr[index + 1] = temp
}
}
println(arr)
//println(arr.subList(0, arr.size - (arr.size - size)))
// 큰 문제를 같은 유형의 작은 문제로 정의
bubbleSort(arr, size - 1)
}
fun main() {
val arr = mutableListOf(9, 6, 2, 12, 11, 9, 3, 7)
bubbleSort(arr, arr.size)
}
반응형
'Kotlin' 카테고리의 다른 글
변성 In Kotlin (0) | 2021.01.27 |
---|---|
구구단 재귀 (0) | 2020.02.17 |
하노이탑 재귀 (0) | 2020.02.17 |
RxKotlin2 사용을 위한 build.gradle (0) | 2019.05.16 |