버블 정렬(Bubble Sort)



- 두 인접한 원소를 검사하여 정렬하는 방법

- 시간복잡도 : 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[] = {66101345};
        
        bubble.sort(data);
        
        for(int i=0; i<data.length; i++){
            System.out.println("data["+i+"] : " + data[i]);
        }
    }
}
cs


'JAVA > 정렬' 카테고리의 다른 글

퀵 정렬(Quick Sort)  (9) 2015.10.26
삽입 정렬(Insertion Sort)  (5) 2015.10.26
선택 정렬(Selection Sort)  (5) 2015.10.26
버블 정렬(Bubble Sort)  (2) 2015.10.25

Tags

Read Next

  1. 정렬이해가 잘 안가고 구현하기어려웠는데 포스팅보고 정말 잘 이해하고 갑니다!! 감사합니다~~~~~

  2. 에공 엑박이 뜨네요 ㅠㅠㅠ

*

*