밍키의 마법세상

bubble sort code 본문

Programming/C

bubble sort code

요술공쥬 2022. 4. 29. 14:51

bubble sort는

6 5 4 3 2 1
5 6 4 3 2 1
5 4 6 3 2 1
5 4 3 6 2 1
5 4 3 2 1 6

위처럼 한번 시행에서 배열 안의 최대값은 배열의 맨 뒤에 위치하게 된다. 그러므로 다음 시행에서는 n-1번까지만 정렬을 해주면 된다. 

항상 n^2만큼의 시간복잡도를 갖게 된다. 

- C 구현 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
 
void swap(int *n1, int *n2);
 
void bubble_sort(int list[]);
 
int main(){
    int list[10];
 
    for(int i = 0; i < 10; i++){
        scanf("%d"&list[i]);
    }
 
    bubble_sort(list);
 
    for(int i = 0; i<10; i++){
        printf("%d ", list[i]);
    }printf("\n");
}
 
void bubble_sort(int list[]){
    for(int i = 0; i<10; i++){
        for(int j = 0; j<9-i; j++){
            if (list[j] > list[j+1]){
                swap(&list[j], &list[j+1]);
            }
        }
    }
}
 
void swap(int *n1, int *n2){
    int tmp = *n1;
    *n1 = *n2;
    *n2 = tmp;
}
cs

 

반응형

'Programming > C' 카테고리의 다른 글

파일 입출력&KMP Serching  (0) 2019.10.23
Linear & Binary Search  (0) 2019.10.07
insertion sort 1 (삽입정렬)  (0) 2019.09.30
insertion sort 2 (최솟값 삽입정렬)  (0) 2019.09.30
입력한 문자열 2개씩 잘라서 출력하기  (0) 2019.09.02
Comments