Kotlin

BubbleSort 재귀

여름나라겨울이야기 2020. 2. 17. 17:46
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