본문 바로가기

JAVA/JAVA 공부

Java 버블 소트

Java 버블 소트

버블 소트는 소트들 중 효율이 좋은 방법은 아니다. 하지만 방법이 아주 쉽고 코드 또한 단순하기 때문에 자주 사용되는 소트 중에 하나 이다.

버블 소트는 인접한 두 수를 비교해서 조건에 맞게 두 위치를 바꾼다.

버블 소트의 정렬 과정

버블소트 순서

버블 소트

앞의 수가 뒷 수보다 크면 둘의 위치를 바꾸면서 마지막 수까지 비교하며 정렬한다.

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class bubbleSort{
  public static void main(String[] args){
    // TODO Auto-generated method stub
    /*
    * 오름차순 정렬
    * 내림차순 정렬
    * 최신 등록순
    * 가격순
    * 연봉순
    * 입사일
    *
    *
    * 퀵소트 > 머지 소트 > 버블 소트  
    */
 
    int number[] =
      {1346546468451234,
      8465413215348949874651,
      321468476541};
 
    int temp;
    //bubble sort
    //number.length-1 마지막은 이미 정렬이 되었기 때문에 비교해줄 필요가 없다.
    for(int i=; 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]);
    }
  }
}
cs






출처 : https://qkrrudtjr954.github.io/java/2017/11/07/bubble-sort.html

'JAVA > JAVA 공부' 카테고리의 다른 글

Java 배열을 섞는 방법  (0) 2018.06.20
10진수를 2진수, 16진수로 변환하는 방법  (0) 2018.06.20
Java의 이중배열  (0) 2018.06.20
Java의 배열  (0) 2018.06.20
문자열이 숫자인지 아닌지 판별하는 함수  (0) 2018.06.20