본문 바로가기
프로그래밍 공부

[JAVA] 버블정렬

by azure05 2023. 8. 16.

버블 정렬은 시간 복잡도 O(n^2)를 갖는다. 

 

논리 구조상 시간이 오래걸리지만 

구현 하는데 있어서 쉽다는 장점을 갖는다

 

백준 2750 난이도 브론즈 문제

N개의 수가 주어졌을 때 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 

 

 


슈도 코드. 

N 정렬할 수 개수

A 정렬할 배열 선언

for(i: 0~N-1)

{

  for(j: 0~N-1-i){

   현재 A배열의 값보다 1칸 오른쪽 배열의 값이 더 작으면 두 수 바꾸기(swap)이용

  }

}

 

A 배열 출력

 


구현 코드.

import java.util.Scanner;

public class P2750{
	public static void main(String[] args){
    
    	Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
        int[]A = new int[N];
        
        for(int i=0; i<N; i++){
        	A[i] = sc.nextInt();
        }
        
        for(int i=0; i<N-1; i++){
        	for(int j=0; j<N-1-i; j++){
            	if(A[j]>A[j+1]){
                	int swap = A[j];
                    A[j]=A[j+1];
                    A[j+1]=swap;
                }
            }
        }
        
        for(int i=0; i<N; i++){
        	System.out.println(A[i]);
        }
	}

}