728x90
728x90

선택 정렬(Selection Sort)

데이터의 교환

  • 스왑(Swap) : 두 변수의 값을 서로 교환하는 작업
  • 다음과 같이 임시 변수(temp)를 생성하여 데이터 교환 작업을 수행할 수 있다.
temp = a;
a = b;
b = temp;

 

  • 다음과 같이 콤마 연산자(Comma Operator)를 사용하여 한 줄로 처리할 수도 있다.
temp = a, a = b, b = temp;

 

오름차순 정렬(Ascending Sort)

  • 순서 없이 나열된 자료를 작은 순에서 큰 순으로 다시 재배열하는 작업

 

내림차순 정렬(Descending Sort)

  • 순서 없이 나열된 자료를 큰 순에서 작은 순으로 다시 재배열하는 작업

 

선택 정렬(Selection Sort)

  • 배열에서 가장 작은 값을 찾아서 배열의 첫 번째에 배치시키고, 다음으로 작은 값을 찾아서 두 번째에 배치시키고, 다음으로 작은 값을 찾아서 세 번째에 배치하며 정렬해 나가는 방식

선택 정렬의 예

 

구현

#include <iostream>
using namespace std;

#define N 5

int main() {
    int a[N] = { 7, 6, 9, 5, 8 };
    int tmp;
    
    for (int i = 0; i < N - 1; i++) {
        for (int j = i + 1; j < N; j++) {
            if (a[i] > a[j]) {
                tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;
            }
        }
    }
    
    for (int i = 0; i < N; i++) {
        cout << a[i] << " ";
    }
        
    return 0;
}
더보기
5 6 7 8 9

 

728x90
728x90