pseudo code
입력 : 크기가 n인 배열 A
출력 : 정렬된 배열 A
for pass = 1 to n-1
for i = 1 to n-pass
if(A[i-1]>A[i])
A[i-1]<->A[i]
return 배열 A
c 코드
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void swap(int* n1, int* n2) {
int tmp = *n1;
*n1 = *n2;
*n2 = tmp;
}
void BubbleSort(int* A, int num) {
for (int i = 0; i < num-1; i++) {
for (int k = 1; k < (num - i); k++) {
if (A[k - 1] > A[k]) {
swap(&A[k - 1], &A[k]);
}
}
}
}
실행시간
8개 : 0.000
10,000개 : 0.522
100,000개 : 53.826
600,000개 : 1934.580
1,000,000개 :
'전공공부 > 알고리즘 공부' 카테고리의 다른 글
(정렬) 정리 (0) | 2022.03.25 |
---|---|
(정렬) 삽입 정렬 (0) | 2022.03.24 |
(정렬) 퀵정렬 (0) | 2022.03.23 |
(정렬) 합병정렬 코드 (0) | 2022.03.22 |
(정렬) 선택정렬 코드 (0) | 2022.03.22 |