정렬 알고리즘(작성중)

hsnam·2022년 1월 6일
0

algorithm

목록 보기
1/3

정렬 알고리즘

Bubble Sort 동작 방식

  • 내용정리(그림으로)
  • Code
package org.agorithm.sort;

import org.junit.jupiter.api.Test;

import java.util.Arrays;

/**
 * Bubble Sort 알고리즘 구현
 */
public class BubbleSort {

    @Test
    public void executeCase1() {
        System.out.println("bubble sort");
        int[] array = {0, 3, 7, 4, 5, 1, -1};
        this.bubbleSort(array);
        System.out.println(Arrays.toString(array));
    }

    public void bubbleSort(int[] array) {
        for (int i = 0; i < array.length-1; i++) { // 마지막 라운드는 수행할 필요가 없음
            boolean swap = false;
            System.out.println("==i : " + i);
            for (int j = 0; j < array.length-1-i; j++) { //
                System.out.println("j :" + j);
                if (array[j] > array[j + 1]) {
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                    swap = true;
                }
            }
            if(!swap) { //정렬이 다 되었을때 스탑하기 위해
                System.out.println("break");
                break;
            }
        }
    }
}
  • 결과
    [-1, 0, 1, 3, 4, 5, 7] / 빅오는 O(N^2)

Insert Sort 동작 방식

0개의 댓글