간단하게 말해서, 선택 정렬은 입력된 값 중
원소를 선택하여 정렬하는 방식이다.
...더보기
이해
(원소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 |
댓글