자바(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("");
}
}
-- 이렇게 출력~
'JAVA' 카테고리의 다른 글
JAVA 예외와 예외처리방법1 (0) | 2016.07.06 |
---|---|
자바 스레드(Thread), 스레드 우선순위 (0) | 2016.07.05 |
JAVA - 추상 클래스(Abstract Class) (2) | 2016.06.06 |
자바(JAVA) - this() (0) | 2016.05.22 |
JAVA - 하나빼기게임(가위바위보 응용) (0) | 2016.04.07 |