Written by
java-style
on
on
[알고리즘] 정렬
[알고리즘] 정렬
728x90
선택 정렬
정의 : 첫번째 자리에 가장 값은 값을 찾아 넣고 다음 Index 에 그 다음 작은 값을 찾아서 넣는다. 이 과정을 배열이 끝날 때까지 반복 하고 정렬된 배열을 출력 한다.
코드(KOTLIN) : 아래 코드에서 알 수 있을 듯 이중 for 루프를 이용해서 위의 그림의 동작을 수행한다. 시간 복잡도는 O(N^2) 를 가진다.
import java.io.* import java.util.* fun main(args: Array) { val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() val st = StringTokenizer(br.readLine()) var numbers = IntArray(n) { st.nextToken().toInt() } // 선택 정렬 for (i in 0 until n - 1) { var min = numbers[i] for (j in (i + 1) until n) { if (min > numbers[j]) { // 현재 값보다 작은 값과 위치 변경 val temp = min numbers[i] = numbers[j] numbers[j] = temp break } } } for (num in numbers) { print("$num ") } }
from http://jefflim-81.tistory.com/41 by ccl(A) rewrite - 2021-11-30 18:03:02