ALGORITHM/이론

Bubble Sort. 버블정렬

SZCODE 2021. 1. 5. 20:03

서로 인접한 두 원소를 검사하여 정렬하는 알고리즘

인접한 두 수를 비교하면서 크기가 클 수록 뒤로 이동하여 결국에는 가장 큰 숫자가 맨 뒤로 이동하게 된다. 

정렬된 숫자를 제외하고 계속해서 비교해주면 된다.

 

예시)

5 6 3 1 8 // 5 6 비교

5 6 3 1 8 // 6 3 비교 , swap

5 3 6 1 8 // 6 1 비교, swap

5 3 1 6 8 // 6 8 비교

5 3 1 6 8 // 1회전 결과

5 3 1 6 8 // 5 3 비교, swap

3 5 1 6 8 // 5 1 비교, swap

3 1 5 6 8 // 5 6 비교

3 1 5 6 8 // 2회전 결과

3 1 5 6 8 // 3 1 비교, swap

1 3 5 6 8 // 3 5 비교

1 3 5 6 8 // 3회전 결과

1 3 5 6 8 // 1 3 비교

1 3 5 6 8 // 4회전 결과

 

import java.util.Arrays;

public class 버블정렬 {
	public static void main(String[] args) {
		int[] arr = {5,6,3,1,8};
		
		for (int i = 0; i < arr.length; i++) {
			for (int j = 1; j < arr.length-i; j++) {
				if(arr[j-1] > arr[j]) {
					int temp = arr[j-1];
					arr[j-1] = arr[j];
					arr[j] = temp;
				}
				
			}
			System.out.println(Arrays.toString(arr));
		}
	}
}

'ALGORITHM > 이론' 카테고리의 다른 글

JAVA 2차원 시계방향으로 90도 돌리기  (0) 2022.04.07
[Java] 2차원 배열 정렬  (0) 2021.06.30
Insertion sort. 삽입정렬  (0) 2021.01.04
Selection sort. 선택정렬  (0) 2021.01.04
HashMap(해시테이블)  (0) 2020.11.14