ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [알고리즘]-[정렬]-선택정렬(JAVA)
    알고리즘/정렬 2018. 10. 30. 11:19

    선택정렬

    개념

      • 최소값을 앞으로 이동시키며 정렬하는 방식. (오름차순 기준)
      1. 주어진 배열에서 최소값을 찾는다.
      2. 찾은 최소값을 배열의 맨 앞에 위치한 값과 교체한다.
      3. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다.


    처리과정



    선택정렬을 인덱스가 중요한데 최소값을 인덱스를 0부터 마지막 인덱스까지 증가 시키면서 최소값을 해당 인덱스의 값과 교체하면 된다.

    위의 배열에서 최소값을 찾으면 7번 인덱스에 값 2가 최소값인걸 확인 할 수 있다.

    이 값을 0번 인덱스의 값 14와 교체 한다.




    기준점이 되는 인덱스를 1 올리고 그 다음 최소값을 찾아 같은 방법으로 정렬을 시작한다.

    자세한 과정은 애니메이션을 확인해보면 알 수 있다.




    소스 (JAVA)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public int[] getSelectionSortResult(int[] _intArr) {
            
            for (int i=0; i < _intArr.length; i++) {
                int index = i;
                
                for(int j=i; j < _intArr.length; j++) {
                    
                    if (_intArr[index] > _intArr[j]) {
                        index = j;
                    }
                }
                int tmpA = _intArr[i];
                _intArr[i] = _intArr[index];
                _intArr[index] = tmpA;
            }
            return _intArr;
        }
    cs




    댓글

Designed by Tistory.