1. 선택 정렬

Seungjae·2021년 1월 18일
0

알고리즘 정리

목록 보기
2/10

선택 정렬


선택정렬의 아이디어는 매우 간단하다. 오름차순을 기준으로, 주어진 숫자들 중 가장 작은 숫자를 찾고 맨 앞에 놓는 것이다. 이것을 반복해서 결론적으로 오름차순 정렬을 완성시키는 것이 바로 선택 정렬이다. 매우 간단하게 구현할 수 있지만 O(n²)이라는 시간 복잡도를 가졌기에 빠르다고 보기는 힘들다.

#include <stdio.h>
#include <iostream>

using namespace std;

int main() {
	int i, j, min, index, temp;
	int array[10] = { 1, 10, 5, 8, 7, 6, 4, 3, 2, 9 };

	for (i = 0; i < 10; i++) {
		min = 99999; // 가장 큰 수라 가정
		for (j = i; j < 10; j++) {
			if (min > array[j]) {
				min = array[j];
				index = j;
			}
		}
		temp = array[i];
		array[i] = array[index];
		array[index] = temp;
	}

	for (i = 0; i < 10; i++) {
		cout << array[i] << " ";
	}

	return 0;
}
profile
코드 품질의 중요성을 아는 개발자 👋🏻

0개의 댓글