티스토리 뷰

알고리즘

[JAVA] 버블정렬

hs_seo 2016. 6. 8. 22:42

버블정렬(거품정렬)


시간복잡도가 n의 제곱으로 늘어나기 때문에 시간이 굉장히 오래 걸린다. 

정렬에 걸리는 시간은 오래 걸리지만 알고리즘이 단순하기 때문에 자주 사용된다. 


알고리즘은 다음과 같다. 

배열의 n번과 n+1번을 비교하여 n번이 더 크면 둘을 바꾼다. 

즉 더 큰값을 뒤로 돌린다. 

이를 반복하여 가장 큰값을 맨뒤로 보내고 이를 처음부터 마지막의 앞까지 반복하여 정렬을 진행한다. 


package sdk.java.sort;
public class BubbleSort {
public static void main(String[] args) {
int[] array = { 4, 3, 2, 5, 6, 19, 23, 5, 18, 28, 8 };
sort(array);
for(int a : array) {
System.out.format("%d ", a);
}
}
public static void sort(int[] array) {
for(int i = 0; i < array.length; i++) {
for(int j = 0; j < array.length - 1; j++) {
if(array[j] > array[j+1]) {
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
}





반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
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
27 28 29 30
글 보관함