본문 바로가기

Algorithm

[알고리즘] 선택 정렬

선택 정렬

: 각 루프마다 최대 원소를 찾고, 최대 원소와 맨 오른쪽 원소를 교환 -> 맨 오른쪽 원소를 제외한다.

하나의 원소만 남을 때까지 위의 루프를 반복.

 

 

 

 

void selectionSort(int A[], int n) {
	int big;	// 최댓값 인덱스
	int temp;
	for (int i = n - 1; i > 0; i--) {
		big = i;
		for (int j = 1; j <= i; j++) {
			if (A[j] > A[big]) {
				big = j;
			}
		}
		temp = A[i];
		A[i] = A[big];
		A[big] = temp;
	}
	for (int i = 0; i < n; i++) {
		printf("%d ", A[i]);
	}
}

'Algorithm' 카테고리의 다른 글

[알고리즘] 퀵 정렬  (1) 2024.01.10
[알고리즘] 병합 정렬  (1) 2024.01.05
[알고리즘] 삽입 정렬  (1) 2024.01.04
[알고리즘] 버블 정렬  (1) 2024.01.03