2023.02.16 최초 작성
#include <stdio.h>
void main() {
int arr[10] = { 4,19,31,7,21,35,37,22,2,5 };
int min, tmp, p = 0;
int size = sizeof(arr) / sizeof(int);
puts("[정렬 전 숫자]");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
while (p < size - 1) {
min = p;
printf("%d번째 반복 ------------\n", p + 1);
printf("최소값 : %d\n", arr[min]);
for (int i = p + 1; i < size; i++) {
printf("최소값 찾기 %d > %d ", arr[min], arr[i]);
if (arr[min] > arr[i]) {
min = i;
printf("-- 최소값 변경 : %d", arr[min]);
}
printf("\n");
}
tmp = arr[p]; arr[p] = arr[min]; arr[min] = tmp;
printf("%d번째 정렬 성공 : arr[%d]=%d\n", p + 1, p, arr[p]);
printf("%d번째 정렬 후 숫자 ---- ", p + 1);
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n\n");
p++;
}
puts("[정렬 후 숫자]");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
[실행 결과]
[정렬 전 숫자]
4 19 31 7 21 35 37 22 2 5
1번째 반복 ------------
최소값 : 4
최소값 찾기 4 > 19
최소값 찾기 4 > 31
최소값 찾기 4 > 7
최소값 찾기 4 > 21
최소값 찾기 4 > 35
최소값 찾기 4 > 37
최소값 찾기 4 > 22
최소값 찾기 4 > 2 -- 최소값 변경 : 2
최소값 찾기 2 > 5
1번째 정렬 성공 : arr[0]=2
1번째 정렬 후 숫자 ---- 2 19 31 7 21 35 37 22 4 5
2번째 반복 ------------
최소값 : 19
최소값 찾기 19 > 31
최소값 찾기 19 > 7 -- 최소값 변경 : 7
최소값 찾기 7 > 21
최소값 찾기 7 > 35
최소값 찾기 7 > 37
최소값 찾기 7 > 22
최소값 찾기 7 > 4 -- 최소값 변경 : 4
최소값 찾기 4 > 5
2번째 정렬 성공 : arr[1]=4
2번째 정렬 후 숫자 ---- 2 4 31 7 21 35 37 22 19 5
3번째 반복 ------------
최소값 : 31
최소값 찾기 31 > 7 -- 최소값 변경 : 7
최소값 찾기 7 > 21
최소값 찾기 7 > 35
최소값 찾기 7 > 37
최소값 찾기 7 > 22
최소값 찾기 7 > 19
최소값 찾기 7 > 5 -- 최소값 변경 : 5
3번째 정렬 성공 : arr[2]=5
3번째 정렬 후 숫자 ---- 2 4 5 7 21 35 37 22 19 31
4번째 반복 ------------
최소값 : 7
최소값 찾기 7 > 21
최소값 찾기 7 > 35
최소값 찾기 7 > 37
최소값 찾기 7 > 22
최소값 찾기 7 > 19
최소값 찾기 7 > 31
4번째 정렬 성공 : arr[3]=7
4번째 정렬 후 숫자 ---- 2 4 5 7 21 35 37 22 19 31
5번째 반복 ------------
최소값 : 21
최소값 찾기 21 > 35
최소값 찾기 21 > 37
최소값 찾기 21 > 22
최소값 찾기 21 > 19 -- 최소값 변경 : 19
최소값 찾기 19 > 31
5번째 정렬 성공 : arr[4]=19
5번째 정렬 후 숫자 ---- 2 4 5 7 19 35 37 22 21 31
6번째 반복 ------------
최소값 : 35
최소값 찾기 35 > 37
최소값 찾기 35 > 22 -- 최소값 변경 : 22
최소값 찾기 22 > 21 -- 최소값 변경 : 21
최소값 찾기 21 > 31
6번째 정렬 성공 : arr[5]=21
6번째 정렬 후 숫자 ---- 2 4 5 7 19 21 37 22 35 31
7번째 반복 ------------
최소값 : 37
최소값 찾기 37 > 22 -- 최소값 변경 : 22
최소값 찾기 22 > 35
최소값 찾기 22 > 31
7번째 정렬 성공 : arr[6]=22
7번째 정렬 후 숫자 ---- 2 4 5 7 19 21 22 37 35 31
8번째 반복 ------------
최소값 : 37
최소값 찾기 37 > 35 -- 최소값 변경 : 35
최소값 찾기 35 > 31 -- 최소값 변경 : 31
8번째 정렬 성공 : arr[7]=31
8번째 정렬 후 숫자 ---- 2 4 5 7 19 21 22 31 35 37
9번째 반복 ------------
최소값 : 35
최소값 찾기 35 > 37
9번째 정렬 성공 : arr[8]=35
9번째 정렬 후 숫자 ---- 2 4 5 7 19 21 22 31 35 37
[정렬 후 숫자]
2 4 5 7 19 21 22 31 35 37
'프로그래밍 > C' 카테고리의 다른 글
스택 C언어 코드 (0) | 2023.02.21 |
---|---|
버블 정렬 C언어 코드 (0) | 2023.02.16 |
병합 정렬 C언어 코드 (0) | 2023.02.16 |
삽입 정렬 C언어 코드 (0) | 2023.02.16 |
배열과 포인터 (0) | 2023.02.15 |