- 두 인접한 원소를 검사하여 정렬하는 방법
- 시간복잡도 : O(n^2)
[1회전] |
[2회전] |
[3회전] |
- 세번의 회전에 걸쳐 정렬은 완료되었지만 프로그램은 남은 데이터의 비교연산을 계속 처리함.
- 정렬은 비교연산을 통해 가장 큰 데이터 부터 끝에 정렬됨.
버블 정렬의 장점
- 구현이 쉽다.
- 이미 정렬된 데이터를 정렬할때 가장 빠르다.
버블 정렬의 단점
- 다른 정렬에 비해 정렬 속도가 느리다.
- 역순배열을 정렬할때 가장 느리다.
JAVA 소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public class Bubble { public void sort(int [] data){ int temp = 0; for(int i=data.length-1; i>=0; i--){ for(int j=0; j<i; j++){ if(data[j] > data[j+1]){ temp = data[j]; data[j] = data[j+1]; data[j+1] = temp; } } } } public static void main(String[] args) { Bubble bubble = new Bubble(); int data[] = {66, 10, 1, 34, 5}; bubble.sort(data); for(int i=0; i<data.length; i++){ System.out.println("data["+i+"] : " + data[i]); } } } | cs |
'JAVA > 기타' 카테고리의 다른 글
Java - String(문자열) .isEmpty() vs .isBlank() 차이점 (0) | 2022.12.15 |
---|---|
Springboot에서 CircuitBreaker 설명 및 사용법 (0) | 2022.11.29 |
퀵 정렬(Quick Sort) (9) | 2015.10.26 |
삽입 정렬(Insertion Sort) (5) | 2015.10.26 |
선택 정렬(Selection Sort) (5) | 2015.10.26 |