
버블 정렬( Bubble Sort )
버블 정렬은 이름 그대로 배열 내의 원소들이 마치 물속의 거품(Bubble) 처럼 떠오르듯이 정렬되는 방식입니다.
- 원리: 인접한 두 개의 원소를 계속 비교하여, 정렬 순서에 맞지 않으면 자리(위치)를 바꿉니다(Swap).
- 특징: 이 과정을 반복하면, 배열에서 가장 크거나 작은 원소가 배열의 가장 끝으로 이동하게 됩니다. (가장 무거운 거품이 가장 위로 뜨는 것과 유사합니다.)
💡 버블 정렬은 언제 사용하나요?
버블 정렬은 다른 정렬 알고리즘(퀵 정렬, 병합 정렬 등)에 비해 매우 느린 편입니다. 따라서 실제 프로그래밍에서는 거의 사용되지 않습니다.
하지만 다음 두 가지 경우에만 유용할 수 있습니다.
- 배열의 크기가 매우 작을 때: 정렬할 데이터가 몇 개 되지 않을 때는 단순하기 때문에 구현이 빠릅니다.
- 정렬 방법을 배울 때: 알고리즘의 개념을 이해하기 가장 쉽기 때문에 교육용으로 많이 사용됩니다.
일반 for 문을 사용한 가장 간결한 버블 정렬
✨ 일반 for 문을 사용한 가장 간결한 버블 정렬향상된 for 문은 사용할 수 없지만, 코드를 최대한 간결하게 줄인 버전은 다음과 같습니다.📌 출력 결과요약: 버블 정렬에서 정렬(비교 및 교환) 로직은 인덱스 기반의 for 문을 사용해야 하고, 단순히 정렬 결과를 출력할 때만 향상된 for 문을 사용하는 것이 일반적입니다.
Java
public class SimplifiedBubbleSort {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 1}; // 간단한 예시 배열
int n = arr.length;
// 정렬 로직
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
// 인접한 두 원소를 비교하고 교환
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 출력 (향상된 for 문을 사용해 결과만 깔끔하게 출력)
System.out.print("정렬된 배열: ");
for (int value : arr) {
System.out.print(value + " ");
}
System.out.println();
}
}
정렬된 배열: 1 2 5 8
향상된 for 문은 사용할 수 없지만, 코드를 최대한 간결하게 줄인 버전 입니다.
'Java_language' 카테고리의 다른 글
| 객체지향 개념 (클래스, 객체, 인스턴스) (0) | 2025.11.26 |
|---|---|
| 클래스란 무엇일까요? (0) | 2025.11.26 |
| 최대값 (Maximum) 반환 메서드 (0) | 2025.11.24 |
| Java Example of implementing the four arithmetic operation method (0) | 2025.11.24 |
| 자바 범위 (Scope) (0) | 2025.11.24 |