거품정렬은 두 개의 인접한 원소를 비교하여 정렬하는 방식이다.
정렬 방법
1. 앞에서부터 현재 원소와 바로 다음의 원소를 비교한다.
2. 현재 원소가 다음 원소보다 크면 원소를 교환한다.
3. 다음 원소로 이동하여 해당 원소와 그 다음원소를 비교한다.
public class BubbleSort {
public static void 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]) {
swap(arr, j, j+1);
}
}
}
}
public static void swap(int[] arr, int src, int target) {
int tmp = arr[src];
arr[src] = arr[target];
arr[target] = tmp;
}
public static void printArray(int[] arr) {
for (int data: arr) {
System.out.print(data + " ");
}
System.out.println();
}
public static void main(String[] args) {
int[] item = new int[] {5,3,8,1,2,7};
System.out.println("정렬 전");
printArray(item);
bubbleSort(item);
System.out.println("정렬 후");
printArray(item);
}
}
자바로 버블정렬 구현 코드를 공부하느라 작성한 글이다.
'Language > Java' 카테고리의 다른 글
[JAVA] 삽입 정렬 (Insertion Sort) (2) | 2022.12.14 |
---|---|
[JAVA] 선택정렬 (Selection Sort) (0) | 2022.12.14 |
이클립스 No Java virtual machine was found after searching the following locations: 오류 해결 방법 (0) | 2020.09.05 |
RSA decryption (0) | 2020.04.22 |
Java 기반의 AES 복호화 프로그램 (0) | 2020.04.18 |