728x90
반응형
-. 버블정렬: 큰 숫자를 오른쪽으로 정렬(오름차순)
#include <stdio.h>
void swap(int* a, int* b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[] = { 25, 10, 55, 20 };
for (int i = 0; i < 3; i++) { // arr 배열 0부터 1까지
for (int j = 0; j < 3 - i; j++) {
if (arr[j] > arr[j + 1])
swap(&arr[j], &arr[j + 1]); // swap 함수
}
}
for (int k = 0; k < 4; k++) {
printf("%d ", arr[k]);
}
printf("\n");
return 0;
}
1. int형 arr[4]는 다음과 같음.
2. arr 두개씩 크기 비교(i = 0, j는 0부터 2까지)
2-1) i = 0, j = 0
if (arr[0] > arr[1]) => if(25> 10)
swap(&arr[0], &arr[1])
2-2) i = 0, j = 1
if(arr[1] > arr[2]) => if(25 > 55) => X
2-3) i = 0, j = 2
if(arr[2] > arr[3] => if(55> 20)
swap(&arr[2], &arr[3])
3. arr 두개씩 크기 비교 (i = 1, j는 0부터 1까지)
3-1) i = 1, j = 0
if(arr[0] > arr[1] => if(10 > 25) => X
3-2) i = 1, j = 1
if(arr[1] > arr[2] => if(25 > 20)
swap(&arr[1], &arr[2])
4. arr 두개씩 크기 비교(i = 2, j는 0부터 0까지)
4-1) i = 2, j = 0
if(arr[0] > arr[1] => if(10 > 20) => X
728x90
반응형
'공돌이 > C언어' 카테고리의 다른 글
[백준/C언어] 2609번: 최대공약수와 최소공배수 (0) | 2021.10.18 |
---|---|
[백준/C언어] 2460번: 지능형 기차 2 (0) | 2021.10.18 |
[백준/C언어] 2501번: 약수 구하기 (0) | 2021.10.18 |
[CodeUP/C언어] C 1412번: 알파벳 개수 출력하기 문제 (0) | 2021.10.17 |
[C언어] 삽입정렬(insertion sort) (0) | 2021.10.17 |
댓글