삽입정렬(insertSort) 코틀린으로 구현하기
생각해야될 부분
- [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")
}
댓글남기기