삽입정렬(insertSort) 코틀린으로 구현하기

최대 1 분 소요

생각해야될 부분

  • [8,5,1,7,6,4,3,2,9]의 배열의 원소를 오름차순으로 삽입정렬해보자.
  • 처음 KEY 값2번째 원소를 키로 잡는다!

graph LR; 8-.-5-.-1-.-7-.-6-.-4-.-3-.-2-.-9 5 --> id2(key) style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5, 5

  • 키값이 +1씩증가 해서 size까지 증가하는 반복문 1개 필요.
  • 키값을 기준으로 -1씩 감소하며 더 값이 큰지 확인하는 내부 반복문 1개 필요
  • 값을 서로 교체하기 위한 변수(temp) 1개 필요.
  • 최종적으로 key 인덱스 기준으로 key -1 인덱스 값이 더 작다면 이미 앞에는 정렬이 되어 있으므로 if, break; 가 필요.

코틀린 삽입정렬 구현부

fun main(){
    var array = arrayOf(8,5,1,7,6,4,3,2,9); //정렬 할 데이터 값
    var temp: Int;   //비교해서 더 큰값을 임시로 담을 변수
    var count: Int;  //총 비교횟수
    
    var pivot: Int;
    var start: Int;
    var end: Int;
    fun test(){
        print("ggg");
    }
   
    array.forEach { print("$it ") }
    print("총 카운트 $count")
}

삽입정렬 시간복잡도

댓글남기기