ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Bubble sort
    알고리즘 2022. 3. 31. 13:30
    public class BubbleSort {
        public void bubbleSort(int[] arr) {
            int tmp;
            for (int i = 0; i < arr.length; i++) {
                for (int j = arr.length-1; j > i; j--) {
                    if (arr[j] < arr[j-1]) {
                        tmp = arr[j];
                        arr[j] = arr[j-1];
                        arr[j-1] = tmp;
                    }
                }
            }
        }
    
        public void bubbleSort2(int[] arr) { //개선(마지막으로 교환한 위치 앞은 이미 정렬된 상태이므로 다시 수행하지 않는다)
            int tmp;
            int k = 0;
            while (k < arr.length - 1){
                int last = arr.length-1; //마지막으로 교환한 위치의 오른쪽 인덱스 값
                for (int j = arr.length-1; j > k; j--) {
                    if (arr[j] < arr[j-1]) {
                        tmp = arr[j];
                        arr[j] = arr[j-1];
                        arr[j-1] = tmp;
                        last = j;
                    }
                }
                k = last;
            }
        }
    }

    '알고리즘' 카테고리의 다른 글

    Merge sort  (0) 2022.03.31
    Quick 정렬  (0) 2022.03.31
    Shell 정렬  (0) 2022.03.31
    삽입 정렬  (0) 2022.03.31
    선택 정렬  (0) 2022.03.31
Designed by Tistory.