본문 바로가기
C_C++ 프로그래밍/C_C++ 프로그래밍

[C++] 선택정렬(Selected Sort)

by RoJae 2019. 4. 1.

간단하게 말해서, 선택 정렬은 입력된 값 중

원소를 선택하여 정렬하는 방식이다.

 

...더보기

이해

(원소1), (원소 2), 원소 3, 원소 4, 원소 5

(원소 1), 원소 2, (원소 3), 원소 4, 원소 5

......

(원소 1), 원소 2, 원소 3, 원소 4, (원소 5)

까지 비교하여

원소 1에 최소 값이 들어갔으므로(오름차순이라면)

 

이제는 index 1부터 정렬을 시작하여

원소 1, (원소 2), (원소 3), 원소 4, 원소 5

...

원소 1, (원소 2), 원소 3, 원소 4, (원소 5)

까지 비교하는 하는 방식이다.

 

최종적으로는

원소 1, 원소 2, 원소 3, (원소 4), (원소 5)

를 비교하게 된다.

 

 

#include<iostream>

using namespace std;

int main(){
	int size;
	cin >> size;

	int *E = new int[size];
	int i = 0;
	int temp;

	for(int i = 0; i < size; i++)
		cin >> E[i];
		
	do{
		int j = i + 1;
		do{
			if(E[i] > E[j]){
				temp = E[i];
				E[i] = E[j];
				E[j] = temp;
			}
			j++;
		} while(j < size);
		i++;
	} while(i<size-1);
	
	for(int i = 0; i < 5; i++)
		printf("%d ",E[i]);
	return 0;
}

 

 

※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다.

반응형

'C_C++ 프로그래밍 > C_C++ 프로그래밍' 카테고리의 다른 글

[C++] 삽입 정렬 (Insertion Sort)  (0) 2019.04.01
[C++] 버블 정렬(Bubble Sort)  (0) 2019.04.01
[C++] pair sort  (0) 2019.03.21
[C++] 2차원 동적 배열 생성  (0) 2019.03.19

댓글