2023.02.16 최초 작성
#include <stdio.h>
void main() {
int arr[15] = { 3,44,38,5,47,15,36,26,27,2,46,4,19,50,48 };
int size = sizeof(arr) / sizeof(int);
int tmp, num = 0;
puts("정렬 전 ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
while (num < size-1) {
printf("---- %d번째 반복 -----\n", num+1);
for (int i = 0; i < size - 1 - num; i++) {
printf("비교 %d > %d ", arr[i], arr[i + 1]);
if (arr[i] > arr[i + 1]) {
tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
printf("swap");
}
printf("\n");
}
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
puts("\n=======================");
num++;
}
puts("정렬 후 ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
[실행 결과]
정렬 전
3 44 38 5 47 15 36 26 27 2 46 4 19 50 48
---- 1번째 반복 -----
비교 3 > 44
비교 44 > 38 swap
비교 44 > 5 swap
비교 44 > 47
비교 47 > 15 swap
비교 47 > 36 swap
비교 47 > 26 swap
비교 47 > 27 swap
비교 47 > 2 swap
비교 47 > 46 swap
비교 47 > 4 swap
비교 47 > 19 swap
비교 47 > 50
비교 50 > 48 swap
3 38 5 44 15 36 26 27 2 46 4 19 47 48 50
=======================
---- 2번째 반복 -----
비교 3 > 38
비교 38 > 5 swap
비교 38 > 44
비교 44 > 15 swap
비교 44 > 36 swap
비교 44 > 26 swap
비교 44 > 27 swap
비교 44 > 2 swap
비교 44 > 46
비교 46 > 4 swap
비교 46 > 19 swap
비교 46 > 47
비교 47 > 48
3 5 38 15 36 26 27 2 44 4 19 46 47 48 50
=======================
---- 3번째 반복 -----
비교 3 > 5
비교 5 > 38
비교 38 > 15 swap
비교 38 > 36 swap
비교 38 > 26 swap
비교 38 > 27 swap
비교 38 > 2 swap
비교 38 > 44
비교 44 > 4 swap
비교 44 > 19 swap
비교 44 > 46
비교 46 > 47
3 5 15 36 26 27 2 38 4 19 44 46 47 48 50
=======================
---- 4번째 반복 -----
비교 3 > 5
비교 5 > 15
비교 15 > 36
비교 36 > 26 swap
비교 36 > 27 swap
비교 36 > 2 swap
비교 36 > 38
비교 38 > 4 swap
비교 38 > 19 swap
비교 38 > 44
비교 44 > 46
3 5 15 26 27 2 36 4 19 38 44 46 47 48 50
=======================
---- 5번째 반복 -----
비교 3 > 5
비교 5 > 15
비교 15 > 26
비교 26 > 27
비교 27 > 2 swap
비교 27 > 36
비교 36 > 4 swap
비교 36 > 19 swap
비교 36 > 38
비교 38 > 44
3 5 15 26 2 27 4 19 36 38 44 46 47 48 50
=======================
---- 6번째 반복 -----
비교 3 > 5
비교 5 > 15
비교 15 > 26
비교 26 > 2 swap
비교 26 > 27
비교 27 > 4 swap
비교 27 > 19 swap
비교 27 > 36
비교 36 > 38
3 5 15 2 26 4 19 27 36 38 44 46 47 48 50
=======================
---- 7번째 반복 -----
비교 3 > 5
비교 5 > 15
비교 15 > 2 swap
비교 15 > 26
비교 26 > 4 swap
비교 26 > 19 swap
비교 26 > 27
비교 27 > 36
3 5 2 15 4 19 26 27 36 38 44 46 47 48 50
=======================
---- 8번째 반복 -----
비교 3 > 5
비교 5 > 2 swap
비교 5 > 15
비교 15 > 4 swap
비교 15 > 19
비교 19 > 26
비교 26 > 27
3 2 5 4 15 19 26 27 36 38 44 46 47 48 50
=======================
---- 9번째 반복 -----
비교 3 > 2 swap
비교 3 > 5
비교 5 > 4 swap
비교 5 > 15
비교 15 > 19
비교 19 > 26
2 3 4 5 15 19 26 27 36 38 44 46 47 48 50
=======================
---- 10번째 반복 -----
비교 2 > 3
비교 3 > 4
비교 4 > 5
비교 5 > 15
비교 15 > 19
2 3 4 5 15 19 26 27 36 38 44 46 47 48 50
=======================
---- 11번째 반복 -----
비교 2 > 3
비교 3 > 4
비교 4 > 5
비교 5 > 15
2 3 4 5 15 19 26 27 36 38 44 46 47 48 50
=======================
---- 12번째 반복 -----
비교 2 > 3
비교 3 > 4
비교 4 > 5
2 3 4 5 15 19 26 27 36 38 44 46 47 48 50
=======================
---- 13번째 반복 -----
비교 2 > 3
비교 3 > 4
2 3 4 5 15 19 26 27 36 38 44 46 47 48 50
=======================
---- 14번째 반복 -----
비교 2 > 3
2 3 4 5 15 19 26 27 36 38 44 46 47 48 50
=======================
정렬 후
2 3 4 5 15 19 26 27 36 38 44 46 47 48 50
'프로그래밍 > C' 카테고리의 다른 글
연결 리스트 C언어 코드 (0) | 2023.02.22 |
---|---|
스택 C언어 코드 (0) | 2023.02.21 |
선택 정렬 C언어 코드 (0) | 2023.02.16 |
병합 정렬 C언어 코드 (0) | 2023.02.16 |
삽입 정렬 C언어 코드 (0) | 2023.02.16 |