버블 정렬(Bubble Sort) 알고리즘이란?
이웃한 두 요소의 대소 관계를 비교하여 교환을 반복하는 알고리즘.
//두 인접한 요소의 값을 교환한다.
static void swap(int[] a, int idx1, int idx2) {
int tmp = a[idx1];
a[idx1] = a[idx2];
a[idx2] = tmp;
}
//버블 정렬을 실행한다.
static void bubbleSort(int[] a) {
int n = a.length;
int k = 0;
while(k < n-1) {
int last = n-1; //마지막으로 요소를 교환한 위치
for(int j=n-1; j>k; j--) {
if(a[j-1] > a[j]) {
swap(a, j-1, j);
last = j;
}
}
k = last;
}
}
lktprogrammer.tistory.com/30?category=672214
03 정렬 알고리즘 - 버블 정렬 (Bubble Sort)
버블정렬 (Bubble Sort) 두 인접한 배열요소를 차례대로 검사를 하여 정렬을 하는 방식 ■ 정렬 방식 1. 배열의 가장 앞에서 인접한 두 개의 요소에 대하여 비교를 한다. (배열의 첫 번째 요소와 두
lktprogrammer.tistory.com
교환 정렬과 똑같이 여겨지기도 하지만,
교환 정렬은 마지막 바로 이전의 데이터와 마지막 데이터를 비교할 때까지 연산을 반복하는 방법을 채택하고 있음.
버블 정렬은 교환이 일어나지 않을 때 까지 반복하는 방법.
'old > 알고리즘' 카테고리의 다른 글
순차 검색(Sequential Search) 또는 선형 검색(Linear Search) 알고리즘 (0) | 2020.11.17 |
---|---|
검색 알고리즘 (0) | 2020.11.17 |
힙 정렬(Heap Sort) 알고리즘 (0) | 2020.11.16 |
퀵 정렬(Quick Sort) 알고리즘 (0) | 2020.11.16 |
병합 정렬(Merge Sort) 알고리즘 (0) | 2020.11.16 |