반응형

*거품 정렬 (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]);
		}
	}
}

 

 

반응형

'기타' 카테고리의 다른 글

자바 큰 수의 사칙연산  (0) 2020.04.28
이클립스 사용방법  (0) 2020.04.27
지역 변수와 인스턴스 변수란?  (0) 2020.04.24
클래스와 객체란?  (0) 2020.04.24
자바 가상 머신, 바이트코드  (0) 2020.04.23

+ Recent posts