버블 소트는 소트들 중 효율이 좋은 방법은 아니다. 하지만 방법이 아주 쉽고 코드 또한 단순하기 때문에 자주 사용되는 소트 중에 하나 이다.
버블 소트는 인접한 두 수를 비교해서 조건에 맞게 두 위치를 바꾼다.
버블 소트의 정렬 과정
앞의 수가 뒷 수보다 크면 둘의 위치를 바꾸면서 마지막 수까지 비교하며 정렬한다.
소스코드
class bubbleSort{
public static void main(String[] args){
// TODO Auto-generated method stub
/*
* 오름차순 정렬
* 내림차순 정렬
* 최신 등록순
* 가격순
* 연봉순
* 입사일
*
*
* 퀵소트 > 머지 소트 > 버블 소트
*/
int number[] =
{1, 3, 4, 65, 46, 46, 84, 51, 23, 4,
84, 6541, 32, 15, 34, 894, 9874, 651,
32, 1, 4, 6847, 65, 41};
int temp;
//bubble sort
//number.length-1 마지막은 이미 정렬이 되었기 때문에 비교해줄 필요가 없다.
for(int i=0 ; i<number.length-1; i++) {
for (int j = i+1; j < number.length; j++) {
//앞의 수가 더 크다면 swap
if(number[i] < number[j]) { //부호만 바꾸면 내림차순으로 정렬할 수 있다.
temp = number[i];
number[i] = number[j];
number [j] = temp;
}
}
}
//정렬 출력
for (int i = 0; i < number.length; i++) {
System.out.println(number[i]);
}
}
}
1
1
3
4
4
4
15
23
32
32
34
41
46
46
51
65
65
84
84
651
894
6541
6847
9874
Comments