버블정렬
버블정렬이란 인접한 두 개의 원소를 비교하며 자리를 계속 교환하는 방식입니다.
알고리즘 이해하기
두 인접한 원소를 검사하여 정렬하는 방법입니다. 시간 복잡도가 O(n^2)로 느린편입니다.
{ 3, 2, 1, 5, 4 }을 원소로 가지는 배열 arr을 오름차순으로 정렬해보도록 하겠습니다.
위의 과정을 반복합니다. 우연히도 이미 정렬이 완료되어있네요 ㅎㅎ..
알고리즘 구현하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public class BubbleSort { public static void main(String[] args) { int[] arr = { 3, 2, 1, 5, 4 }; arr = bubbleSort(arr); for (int i = 0; i < 5; i++) { System.out.println(arr[i]); } } private static int[] bubbleSort(int[] arr) { for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } } return arr; } } | cs |
'알고리즘 > 정렬' 카테고리의 다른 글
삽입정렬(Insert Sort) (0) | 2019.09.08 |
---|