본문 바로가기
JAVA/정렬

정렬 알고리즘 - 선택정렬(selection sort)

by 램쥐뱅 2016. 5. 31.

선택정렬 (selection sort)


제자리정렬 알고리즘, 불안전 정렬, 내부정렬



 1. 리스트중 최솟값을 찾음.


 2. 그 값을 맨 앞의 값과 교체.


 3. 맨처음 위치 다음부터 같은 방법으로 계속 교체.



 초기 - [ 9, 1, 6, 8, 4, 3, 2, 0 ] 최솟값 : 0

     1 - [ 0, 1, 6, 8, 4, 3, 2, 9 ] 최솟값 : 1

     2 - [ 0, 1, 6, 8, 4, 3, 2, 9 ] 최솟값 : 2

     3 - [ 0, 1, 2, 8, 4, 3, 6, 9 ] 최솟값 : 3

     4 - [ 0, 1, 2, 3, 4, 8, 6, 9 ] 최솟값 : 4

     5 - [ 0, 1, 2, 3, 4, 8, 6, 9 ] 최솟값 : 6

     6 - [ 0, 1, 2, 3, 4, 6, 8, 9 ] 최솟값 : 8




void selectionSort(int[] list) {

   int indexMin, temp;


    for (int i = 0; i < list.length - 1; i++) {

        indexMin = i;

        for (int j = i + 1; j < list.length; j++) {

            if (list[j] < list[indexMin]) {

                indexMin = j;

            }

        }

        temp = list[indexMin];

        list[indexMin] = list[i];

        list[i] = temp;

    }

 }













참고.

위키백과.

이미지 : springmvc.egloos.com




'JAVA > 정렬' 카테고리의 다른 글

정렬 알고리즘 - 삽입정렬(insertion sort)  (0) 2016.05.31
정렬 알고리즘 - 버블정렬(bubble sort)  (0) 2016.05.31

댓글