작동 원리 : 순회 하면서 바로 뒤의 값과 비교해서 교환, 1 순회마다 가장 큰 값이 제일 뒤로 간다.

시간복잡도 : O($n^2$)

void swap(int *dest, int *src)
{
	int tmp;

	tmp = *dest;
	*dest = *src;
	*src = tmp;
}

C++, C

void bubble_sort(int* arr, int length)
{
	for (int i = 0; i < length - 1; i++)
		for (int j = 0; j < length - i - 1; j++)
			if (*(arr + j) > *(arr + j + 1))
				swap((arr + j), (arr + j + 1));
}