버블 정렬은 인접한 두 요소끼리 비교해 교환하는 방식으로 작동하는 정렬 방식입니다.

느리지만 코드가 짧고 안정적이라 사용합니다.



버블 정렬은 인접한 두 요소를 비교합니다.

  1. 뒤의 두 값을 비교합니다.
  2. 작거나 큰값(선택한 값)에 따라 두 요소의 위치를 바꿉니다.
  3. 이를 맨 앞까지 반복합니다.
  4. 첫 번째 자리에 제일 작은 숫자가 왔다면 다시 반복합니다.

이는 배열을 여러번 순회하며, 항상 n(n-1)/2, O(N)의 시간 복잡도를 가집니다.

위 정렬에는 없으나, 정렬이 ‘가끔’ 빠르게 끝날 수 있도록 조기종료 단계를 넣어줄 수도 있습니다.