버블 정렬은 인접해 있는 두 배열 요소를 차례대로 검사하여 정렬하는 방식이다.
정렬은 아래와 같이 진행된다.
1. 시작은 배열의 첫번째 요소와 두번째 요소로 시작된다. 인접한 두 요소를 비교하여 정렬한다.
2. 배열의 다음 인접한 요소를 비교하여 정렬한다. (두번째 세번째)
3. 배열의 끝까지 비교를 반복하면 맨끝에는 정렬이 완료된 요소가 온다.
4. 마지막에 정렬된 요소를 제외하고 1~3 과정을 반복한다.
예제 코드
public class BubbleSort {
public static void main(String[] args) {
int[] data = {3,5,-5,1,4,0};
int[] result = bubbleSort(data);
for(int num : result) {
System.out.println(num);
}
}
public static int[] bubbleSort(int[] data) {
for (int i = 0; i < data.length; i++) {
for (int j =0; j < data.length - i - 1 ; j++){
if (data[j] > data[j+1]) {
int temp =data[j+1];
data[j+1] = data[j];
data[j] = temp;
}
}
}
return data;
}
}
반응형
'Develop > Algorithm' 카테고리의 다른 글
재귀 함수 정리 (0) | 2021.07.27 |
---|---|
병합 정렬 (Merge Sort) (0) | 2021.07.06 |
퀵 소트 (Quick Sort) (0) | 2021.07.05 |
삽입 정렬 (Insertion Sort) (0) | 2021.07.04 |
선택 정렬 ( select sort) (0) | 2021.07.04 |
댓글