티스토리 뷰

[주제]

- 정렬 알고리즘 종류 중 버블 정렬에 대한 개념과 구현



[중요]

- 오름차순 정렬 시(내림차순 정렬 시) 가장 큰(작은) 값을 오른쪽으로 이동

- 마지막 숫자는 정렬이 완료된 상태기 때문에 더 이상 정렬 진행하지 않음

  ※ 전체 길이의 '-1'한 만큼 정렬 진행



■ 그림(버블 정렬 과정)

- 숫자 '4, 2, 1, 3'을 오름차순으로 정렬



- 첫 번째 숫자와 두 번째 숫자 비교

- 첫 번째 숫자가 더 높으니 위치 교체




- 두 번째 숫자와 세 번째 숫자 비교

- 두 번째 숫자가 더 높으니 위치 교체




- 세 번째 숫자와 네 번째 숫자 비교

- 세 번째 숫자가 더 높으니 위치 교체




- 1회전 정렬 종료

- 다시 처음부터 반복



[소스]

■ BubbleSort.java

package sortBubble;
 
public class BubbleSort {
    public static void main(String[] args) {
        int arr[] = { 4231};
        
        bubbleSort(arr, arr.length);
        
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
    
    static void bubbleSort(int arr[], int n) {
        int temp;
        
        for (int i = 0; i < n-1; i++) {
            for (int j = 0; j < (n-i)-1; j++) {
                if (arr[j] > arr[j+1]) {
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1= temp;
                }
            }
        }
    }
}
cs



■ 실행결과



[첨부 파일]

BubbleSort.java


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함