버블 정렬

버블 정렬(bubble sort)

버블 정렬은 인접한 두 항목끼리의 비교를 통해 정렬을 수행한다. 다음의 내용을 순차적으로 반복하며 정렬을 수행한다.

  1. 설정된 범위 내에서 좌측부터 두 개의 항목을 비교한다.

  2. 비교한 항목이 오름차순이 아닐 경우 교체한다.

  3. 범위의 마지막 지점까지 반복한다.

  4. 범위의 마지막 지점은 정리되었으므로 범위에서 제외한다.

  5. 1번으로 이동한다.

버블 정렬을 위해서는 데이터 교체(swap)을 수행할 수 있어야 한다.

샘플 데이터

정렬을 위해 사용할 데이터는 다음과 같다.

int[] data = new int[]{30, 50, 20, 10, 40};

1회차

  • 범위 : data[0] ~ data[4]

2회차

  • 범위 : data[0] ~ data[3]

3회차

  • 범위 : data[0] ~ data[2]

4회차

  • 범위 : data[0] ~ data[1]

전체

int[] data = new int[] {30, 20, 10, 40, 50};

for(int k=data.length-1; k > 0; k--) {
	for(int i=0; i < k; i++) {
		if(data[i] > data[i+1]) {
			int temp = data[i];
			data[i] = data[i+1];
			data[i+1] = temp;
		} 
	}
}
		
		
//출력
for(int i=0; i < data.length; i++) {
	System.out.println(data[i]);
}

Last updated