본문 바로가기
전공공부/알고리즘 공부

(정렬) 버블정렬

by 시아나 2022. 3. 24.

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