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
'Computer Science > 알고리즘' 카테고리의 다른 글
[Algorithm] 소인수 분해(Prime/Integer Factorization) (0) | 2022.10.25 |
---|---|
[Algorithm] 피보나치 수열(Fibonacci Sequence) (1) | 2022.10.06 |
[Algorithm] 삽입 정렬(Insertion Sort) (1) | 2022.10.06 |
[Algorithm] 버블 정렬(Bubble Sort) (0) | 2022.10.06 |
[Algorithm] 최대(Max), 최소(Min), 최빈(Mode) (0) | 2022.10.06 |
[Algorithm] 콜라츠 추측(Collatz Conjecture) ; 우박수(Hailstone Sequence), 3N + 1 Problem (0) | 2022.09.01 |
[Algorithm] 소수(Prime Number) ; 쌍둥이 소수(Twin Primes), 메르센 소수(Mersenne Primes), 골드바흐의 추측(Goldbach's Conjecture) (0) | 2022.09.01 |
[Algorithm] 팰린드롬(Palindrome) (0) | 2022.09.01 |