티스토리 뷰
반응형
1146 : 선택정렬
제한시간: 1Sec 메모리제한: 32mb
해결횟수: 848회 시도횟수: 2469회
선택 정렬(selection sort)이란 내부정렬 알고리즘의 하나로 다음 순서대로 실행하여 정렬을 한다.
1. 주어진 수열 중에 최소값을 찾는다.
2. 찾은 최소값을 맨 앞의 값과 자리를 바꾼다.
3. 맨 앞의 값을 뺀 나머지 수열을 같은 방법으로 전체 개수-1번 반복 실행한다.
n개의 주어진 수열을 위와 같은 방법으로 정렬한다.
수열이 주어지면 선택정렬의 과정을 한 단계씩 출력한다.
[Copy]5 6 4 8 3 1 | [Copy]1 4 8 3 6 1 3 8 4 6 1 3 4 8 6 1 3 4 6 8 |
#include <stdio.h>
int main(){
int i, j, k, N, temp, min = 0, num[100] = {0, };
scanf("%d", &N);
for(i = 0; i < N; i++){
scanf("%d", &num[i]);
}
for(i = 0; i < N - 1; i++){
min = i;
for(j = i + 1; j < N; j++){
if(num[j] < num[min]){
min = j;
}
}
temp = num[i];
num[i] = num[min];
num[min] = temp;
for(k = 0; k < N; k++){
printf("%d ", num[k]);
}
puts("");
}
}
'C, C++ > 정올' 카테고리의 다른 글
Baekjoon 백준 15552번 빠른 A+B (0) | 2019.10.30 |
---|---|
1039 : 도미노 (0) | 2016.06.06 |
1157 : 버블정렬 (0) | 2016.06.06 |
1071 : 약수와 배수 (0) | 2016.06.06 |
1307 : 문자사각형1 (0) | 2016.06.06 |
댓글
티스토리 방명록
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
Blog is powered by
Tistory / Designed by
Tistory
Contact: j0n9m1n1@gmail.com
Contact: j0n9m1n1@gmail.com