티스토리 뷰
알고리즘 관련 첫 포스팅이 되겠네요. 프로그래머에게 있어서 알고리즘은 참 중요한 부분이죠? 오늘은 알고리즘에 있어서 가장 기본이라고 할 수 있는 bulbble sort에 대해서 알아보겠습니다. 우선 그림을 통해서 한번 확인해보도록 하겠습니다.
do
swapped = false
for i = 1 to indexOfLastUnsortedElement
if leftElement > rightElement
swap(leftElement, rightElement)
swapped = true
while swapped
package algorithm;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import org.junit.Test;
public class SortTest {
private int[] original_array = {6, 7, 5, 8, 9, 0, 1, 3, 2, 4};
private int[] sorted_array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
@Test
public void bubbleSortTest() {
Sort.bubbleSort(original_array);
assertThat(original_array, is(sorted_array));
}
}
package algorithm;
public class Sort {
public static void bubbleSort(int[] original_array) {
boolean swapped;
int indexOfLastUnsortedElement = original_array.length-1;
do {
swapped = false;
for (int i=0; i<indexOfLastUnsortedElement; i++) {
if (original_array[i] > original_array[i+1]) {
int tmp = original_array[i];
original_array[i] = original_array[i+1];
original_array[i+1] = tmp;
swapped = true;
}
}
indexOfLastUnsortedElement--;
} while (swapped);
}
}
'Algorithm' 카테고리의 다른 글
4. 병합정렬(Merge Sort) (0)
2016.07.19
3. 빠른정렬(Quick Sort) - 1 (0)
2016.07.09
2. 삽입정렬(Insertion Sort) (0)
2016.07.03
- Total
- Today
- Yesterday
- Ajax
- templateUrl
- CURL
- routerLink
- Spring Boot
- mockmvc
- test static import
- rest login
- routeParams
- 어드보케이트
- 기내반입유모차
- TypeScript
- 알고리즘
- 거품정렬
- 유아동겸용
- 티지유모차
- controller test
- 타보유모차
- mybatis
- angular2
- router-outlet
- insert sort
- styleUrls
- 머지소트
- RouteConfig
- angular 2
- spring security
- 빠른 정렬
- angular
- routing
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |