버블 정렬은 인접한 두개의 원소를 비교하여 자리를 교환하는 방식으로, 첫 번째 원소부터 마지막 원소까지 반복하면 가장 큰 원소가 마지막 자리에 온다. 첫 번째 원소부터 인접한 원소끼리 계속 자리를 교환하면서 맨 마지막 자리로 이동하는 모습이 물 속에서 물 위로 올라오는 물방울 모양과 같다고 해서 버블 정렬이라고 한다.
시간복잡도 : O(n^2)
public class bubbleSort {
public static void main(String[] args) {
int a[]={69,10,30,2,16,8,31,22, 18};
int temp;
for(int i=0 ; i<a.length ; i++){
System.out.print(a[i]+" ");
}
System.out.println("\n");
for(int i=a.length-1 ; i>=0 ; i--){
for(int j=1 ; j<=i ; j++){
if(a[j-1]>a[j]){
temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
for(int i=0 ; i<a.length ; i++){
System.out.print(a[i]+" ");
}
System.out.println("\n");
}
}
'Algorithm' 카테고리의 다른 글
병합 정렬(Merge Sort) (0) | 2014.12.03 |
---|---|
삽입 정렬(Insert Sort) (0) | 2014.12.02 |
퀵 정렬(Quick Sort) (0) | 2014.12.02 |
선택 정렬(Selection Sort) (0) | 2014.12.02 |
정렬 장소에 따른 분류 (0) | 2014.12.02 |