본문 바로가기
  • Let's study
알고리즘/C++

[알고리즘] 선택 정렬 - C++

by 코딩고수이고파 2021. 9. 22.

선택 정렬


#include <iostream>

using namespace std;

int arr[] = { 4, 2, 6, 1, 5, 3 };

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL), cout.tie(NULL);

	int idx = 0;
	for (int i = 0; i < 6; i++) {
		int min = 100;	//배열의 값보다 큰 값으로 잡기
		for (int j = i; j < 6; j++) {
			if (arr[j] < min) {	//제일 작은 값 찾기
				min = arr[j];
				idx = j;	//제일 작은 값이 저장되어 있는 인덱스
			}
		}

		int temp = arr[i];	//i와 제일 작은 값이 저장된 인덱스와 자리 바꾸기
		arr[i] = arr[idx];
		arr[idx] = temp;
	}

	for (int i = 0; i<6; i++)
		cout << arr[i] << ' ';

	return 0;
}

시간복잡도: O(N^2)

 

'알고리즘 > C++' 카테고리의 다른 글

[알고리즘] 퀵 정렬 - C++  (0) 2021.09.22
[알고리즘] 삽입 정렬 - C++  (0) 2021.09.22
[알고리즘] 버블 정렬 - C++  (0) 2021.09.22
[알고리즘] Algorithm 헤더 - C++  (0) 2021.09.19
[알고리즘] C++ Vector 사용법  (0) 2021.09.09

댓글