정렬 알고리듬의 하나. n 항목으로 이루어진 정렬 대상 리스트(집합) 중의 항목을 수직 방향으로 배열했다고 생각하면, 아래 끝에서부터 시작해서 인접하는 두 항목의 값을 비교하여 올바른 순서로 되어 있지 않으면 위치를 교환한다. 이렇게 인접하는 항목의 값을 비교해서 자리를 교환하는 과정을 리스트의 끝 항목까지 반복해서 제일 큰 값이 끝에 오도록 한다.
이 이름은 리스트 중에서 제일 가벼운(작은) 항목이 물속의 거품(bubble)처럼 제일 위로 상승하고, 그 다음 가벼운 것이 다음 자리로 상승하여 제일 무거운 것이 끝자리로 오기 때문에 붙었다.
[ Bubble 알고리즘 정리 ] 1) 처음 두 원자원소([0]과 [1])가 비교하여 작은 수가 왼쪽으로 큰 수는 오른쪽으로 자리를 바꾼 다음에 오른쪽의 큰 수가 세번 째 원소[2]와 비교하면서 배열의 끝까지 가면서 배열의 가장 큰 수가 맨 오른쪽[-1]에 위치하게 되면 더 이상 비교되지 않는 원소로 자리를 잡습니다.
2) 다시, 처음 두 원자원소([0]과 [1])이 비교하여 오른쪽으로 비교를 하면서 반복하면서 오른쪽에 비교되지 않는 원소에 도달하면 자리를 잡고 더는 비교되지 않습니다.
3) 한 번도 자리 바꿈이 없이 비교되지 않는 원소에 도달하면 이 원소들은 한꺼번에 비교되지 않는 원소로 되며 정렬을 끝냅니다.