Algorithm/inflearn

버블정렬

마닐라 2021. 9. 20. 23:01

 

import java.util.Scanner;


public class Main {
    public int[] solution(int n, int[] arr) {
        //i=0일 때 마지막 값 결정되고
        //i=1일 때 마지막-1 값 결정된다.
        //하나 남았을 때는 비교 할 필요가 없으니 n-1 전까지 돌면 된다.
        
        //1회전씩 증가할 때 마다 제일 마지막에
        //큰 값이 정해지므로 n-1-i만큼 돌아주면 된다.★
        for(int i = 0; i < n-1; i++) {
            for(int j = 0; j < n-i-1; j++){
                if(arr[j]>arr[j+1]) {
                    int tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
            }
        }
        return arr;
    }

    public static void main(String[] args){
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        int[] arr = new int[n];
        for(int i = 0; i < n; i++) arr[i] = kb.nextInt();
        for(int x : T.solution(n, arr)) System.out.print(x+ " ");

    }
}

'Algorithm > inflearn' 카테고리의 다른 글

★★LRU(캐시, 카카오 변형)  (0) 2021.09.27
삽입정렬  (0) 2021.09.20
#선택 정렬  (0) 2021.09.20
★응급실  (0) 2021.09.19
교육과정설계  (0) 2021.09.19