알고리즘: 버블 정렬 (JAVA)

친환경 개발자
|2024. 8. 5. 16:21

버블정렬

 

  • 정렬 방식이 마치 물속 거품이 수면으로 올라가는 듯하다고 하여 붙여진 이름
  • 가장 단순하고 이해하기 쉬운 방식 중 하나이다
  • 시간복잡도 : O(n^2)

 

 

 

 

정렬 방식

  1. 첫 번째 값과 두 번째 값 비교
  2. 첫 번째 값이 크면 서로 위치 교환. 아니면 그대로!
  3. 두 번째 값과 세 번째 값 비교하여 같은 작업 반복
  4. 끝 값까지 같은 작업을 반복하면, 가장 큰 값이 가장 끝 배열 요소로 들어감
  5. 같은 과정을 반복하면 오름차순 정렬이 완성

 

 

 

 

장단점

  • 장점: 구현이 간단하고 코드가 직관적이다!
  • 단점: 시간복잡도가 O(n^2)로, 배열 크기가 커지면 비효율적이다.

 

 

 

 

 

 

import java.util.Arrays;

public class BubbleSort {

	public static void main(String[] args) {
		int[] arr = {22, 42, 31, 10, 35};
		
		// 버블 정렬
		for (int i=0; i<arr.length; i++) {
			for (int j=1; j<arr.length-i; j++) {
				if (arr[j-1] > arr[j]) {
					int tmp = arr[j-1];
					arr[j-1] = arr[j];
					arr[j] = tmp;
				}
			}
		}
		
		System.out.println(Arrays.toString(arr));
	}

}