알고리즘 / 버블 정렬

아몬드봉봉·2023년 12월 12일
0

알고리즘

목록 보기
2/2

거품/버블정렬

두 인접한 원소를 검사하여 정렬하는 방법이다.
시간 복잡도가 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다.
원소의 이동이 커품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다.

눈으로 보는 버블 정렬

알고리즘 도감 / 버블 정렬 하는 과정

  • 해당 사진의 출처는 알고리즘 도감이라는 앱에 있다.
  • 이미지를 보면 두 숫자를 비교해서 차순에 맞게 숫자를 이동 시킨다.
  • 정렬이 끝나게 되면 회색으로 바뀐다.

정렬 예제

public class BubbleSort {
 
    public static void main(String[] args) {
        
        int[] nums = {1, 5, 3, 6, 2, 7, 4, 9, 0};
        
        System.out.println(Arrays.toString(bubbleSort(nums)));
        
    }
    
    public static int[] bubbleSort(int[] nums) {
        
        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = 1; j < nums.length - i; j++) {
                // if (nums[j - 1] < num[j]) {        내림차순
                if (nums[j - 1] > nums[j]) {    //     오름차순
                    int temp = nums[j - 1];
                    nums[j - 1] = nums[j];
                    nums[j] = temp;
                }
            }
        }
        
        return nums;
    }
    
}

출처

버블 정렬 위키백과
https://todaycode.tistory.com/46

profile
성장을 즐기는 백엔드 자바 개발자

0개의 댓글

관련 채용 정보