제이슨의 개발이야기

Bubble Sort (버블소트) 코틀린 Kotlin 본문

알고리즘

Bubble Sort (버블소트) 코틀린 Kotlin

제이쓰은 2021. 8. 23. 22:34
728x90
반응형

 

안녕하세요! 

오늘은 정렬 방식 중 Bubble Sort 를 코틀린으로 작성해보았습니다! 

앞으로 시간이 될 때 마다 각 알고리즘을 코틀린 언어로 한번 작성해보려구 합니다! 

 

Bubble Sort 

 

버블 소트 알고리즘 개념 

 

서로 인접한 두 원소를 검사하여 정렬하는 알고리즘 

아래에서 부터 시작하여 비교하면서 위로 올라가는 방식으로 마치 거품이 위로 올라가는 모습과 유사 하여 버블 소트 라고 합니다!

 

버블 소트의 장점 과 단점

 

장점 : 구현이 매우 간단하다

 

단점 :

순서에 맞지 않은 요소를 인접한 요소와 교환한다 

하나의 요소가 가장 왼쪽에서 가장 오른쪽으로 이동하기 위해서는 배열에서 모든 다른 요소들과 교환되어야한다

특히 특정요소가 최종 정렬위치에 이미 있는 경우라도 교환이 일어난다 

 

 

class BubbleSort {

    fun BubbleSort(){
        var array = arrayOf(4,5,1,2,3,10,8)


        for(i in array.size-1 downTo 1 step(1)){

            for(j in 0 until i){
                
                if(array[j]>array[j+1]){
                    val temp = array[j+1]
                    array[j+1] = array[j]
                    array[j] = temp
                }
            }
        }

        for(i in array.indices){
            print(array[i])
            print(" ")
        }
        println("")
    }


}
fun main(){
    println(BubbleSort().BubbleSort())
}

 

728x90
반응형