버블정렬(bubble sort)_자바구현
버블정렬에 대해 간단히 정리해 보았습니다.
역시 프로그래밍은...해봐야 정신차린다는... ㅠㅠ
간단한거라고 생각했지만 막상할려니 고민스러웠어요 ㅋㅋㅋ
이왕하는김에 블로그에 정리해서 올려두려고 합니다.
버블정렬의 기본 개념은
이웃한 데이터들을 비교하여 차레로 정렬한다는 것 입니다.
다음과 같은 배열이 있습니다.
8,3,6,2,10,4
↑
step01
8,3,6,2,10,4
↑↑
8과 3을 대소비교하여 정렬을 합니다.
결과는 8과 3이 바뀌게 되겠죠
3,8,6,2,10,4
step02
3,8,6,2,10,4
↑↑
이번에는 8과 6을 비교하게 됩니다.
이런식으로 배열의 끝까지 대소비교를하여 정렬하면 됩니다.
버블정렬은 나름 개념이 쉬운 알고리즘이라고 생각합니다.
모두들 한번씩 해보세요^^
소스코드는 아래와 같습니다.
/**
1. 이웃한 데이터들을 비교하여 대소비교하는 방식이다.
2. 대소비교후 큰값을 오른쪽으로 정렬한다.
3. for문 1회 실행후 for문 회전수는 1씩 줄어든다. (이유 : 제일 큰값을 오른쪽에 정렬을 완료 시켰으므로)
*/
class BubbleSort {
Comm comm = new Comm();
void bubbleSort(int pivot, int[] testArray){
if(0<pivot){
for(int i = 0; i<pivot-1; i++){
if(testArray[i]>testArray[i+1]){
comm.swapArray(i, i+1, testArray); // 데이터를 교환
}
}
bubbleSort(pivot-1, testArray); //pivot-1을 사용하여 for문 회전수를 줄임
}
}
}
실행결과 첨부하겠습니다.
실행방법은 메인에서 함수를 호출하여 사용하였습니다.
bubbleSort.bubbleSort(testArray.length, testArray);
'개발 > java,spring' 카테고리의 다른 글
스프링/아이바티스 2개의 DB연결 (0) | 2017.05.23 |
---|---|
스프링 redirect 파마미터 처리 (2) | 2017.03.20 |
java, jsp 페이징처리 (0) | 2017.03.16 |
삽입정렬(insert) 알고리즘_자바 구현 (0) | 2016.11.05 |
java 정규식 활용 (Patter, Matcher) (0) | 2016.09.16 |
java 문자열 구분, 자르기(split) (2) | 2016.09.07 |
[java]자바 pdf 파일 생성 (2) | 2016.06.03 |