기타
거품 정렬(Bubble sort)이란?
현호s
2020. 4. 24. 23:11
반응형
*거품 정렬 (Bubble sort)
- 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름으로, 두 인접한 원소를 검사하여 정렬하는 방법으로 시간 복잡도가 O(n^{2})로 상당히 느리지만, 코드가 단순하여 자주 사용된다.
class Main {
public static void main(String[] args) {
int[] arr = {60, 50, 100, 30, 20, 10};
// 오름차순 정렬 ( 작은것 > 큰것 )
for ( int i = arr.length-1; i > 0; i-- ) {
for ( int k = 0; k < i; k++ ) {
if ( arr[k] > arr[k+1] ) {
int temp = arr[k];
arr[k] = arr[k+1];
arr[k+1] = temp;
}
}
}
// 출력 : 10 20 30 50 60 100
for ( int i = 0; i < arr.length; i++ ) {
System.out.printf("%d ", arr[i]);
}
System.out.print("\n");
// 내림차순 정렬 ( 큰것 > 작은것 )
for ( int i = arr.length-1; i > 0; i-- ) {
for ( int k = 0; k < i; k++ ) {
if ( arr[k] < arr[k+1] ) {
int temp = arr[k];
arr[k] = arr[k+1];
arr[k+1] = temp;
}
}
}
// 출력 : 100 60 50 30 20 10
for ( int i = 0; i < arr.length; i++ ) {
System.out.printf("%d ", arr[i]);
}
}
}
반응형