버블정렬이란 데이터를 정렬하는 과정이 마치 거품이 수면을 향해서 올라오는 모습과 같다고 붙여진 이름입니다.
데이터 집합을 순회하면서 집합 내의 이웃 요소들 끼리의 교환을 통해서 정렬을 수행합니다.
아래 그림을 보시면 스텝이 진행 될 때마다 값을 비교하여 더 큰 숫자가 뒤로 가게 정렬되고 있습니다.
위 그림은 5번에 스텝에 정렬이 완료 되었지만, 더 복잡하게 섞인 정렬의 경우 위의 동작이 계속 반복되게 됩니다.
아래 자바스크립트 코드를 참고하시기 바랍니다.
#소스코드
[-2, -1, 1, 1, 4, 5, 5, 7, 9, 10, 23]
위와 같은 결과를 확인 할 수 있습니다.
버블 정렬의 경우 간단하기 때문에 버그를 만들 가능성도 적고 구현이 간단하지만, 연산이 너무 오래 걸린다는 단점이 있습니다.