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[] = {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]); } } } | 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 |