JAVA

자바 - 버블정렬(Bubble Sort)

로픽 2016. 5. 22. 09:53
300x250

 자바(JAVA) - 버블정렬(Bubble Sort)


** 다양한 정렬 방법이 존재하는데 버블정렬 코딩을 작성하였습니다.


버블정렬

- 1 2 3 4의 4개의 배열이 존재한다고 가정하면 (1,2 비교), (2,3비교), (3,4비교)해서 가장 큰 값을 뒤로 보내고 가장 작은 값은 앞으로 보내는 방식입니다.


package PersonExamplepk;


import java.util.Scanner;

public class Person {

public static void main(String[] args){

Scanner input = new Scanner(System.in);

final int arrNumber = 10;        // 원소가 10개인 배열을 선언하려고 합니다.

int [] array = new int[arrNumber];


System.out.println("10개의 값을 입력하시오");        // 먼저 값을 입력 받습니다.

for(int i= 0; i<arrNumber; i++)

{

System.out.print((i+1) + "번째 값: ");

array[i] = input.nextInt();

}

System.out.print("입력한 값 출력: ");        //정렬이 안된 입력된 값을 출력

for(int i= 0 ; i<arrNumber; i++)

{

System.out.print(array[i] + " ");

}

System.out.println("");


 //버블 정렬이 실행되는 부분****


for(int i=0; i<arrNumber-1; i++)             // 10개의 값이 있으면 두 개의 값을 비교하는 과정은 9번만 진행한다   

{

for(int j=0; j<(arrNumber-i)-1; j++)        //가장 큰 값을 뒤로 보내면 마지막 값 고정이되는데 i++만큼 증가하므로 -i 해준다

{

if(array[j] > array[j+1])        //가장 큰값을 뒤로 보내준다

{

int tmp = array[j+1];

array[j+1] = array[j];

array[j] = tmp;

}

}

}

System.out.print("버블정렬 후 값 출력: ");

for(int i= 0 ; i<arrNumber; i++)

{

System.out.print(array[i] + " ");

}

System.out.println("");

}

}


자바



-- 이렇게 출력~

반응형