- 시작 주소 값에서부터 두 요소를 비교하여 큰 값을 뒤로 보낸다.
- N 배열은 N - 1 회전으로 배열을 오름차순 정리가 된다.
1. 무작위 배열 만들고 회전 시켜보기
package Test01;
public class Bubble {
public static void main(String[] args) {
int[] arr = {5, 7, 3, 4, 2};
final int N = arr.length;
for (int a = 0; a < N - 1; a++) {
System.out.println("도는 횟수");
System.out.println();
}
}
}

2. 반복문 안에서 반복
회전을 하면서 젤 큰 숫자가 젤 끝으로 정리 되어야 하기 때문에, 다시 반복 회전 할 때마다 1회 적게 반복해야한다.
package Test01;
public class Bubble {
public static void main(String[] args) {
int[] arr = {5, 7, 3, 4, 2};
final int N = arr.length;
for (int a = 0; a < N - 1; a++) {
for (int b = 0; b < N - a - 1; b++) {
System.out.println("도는 횟수");
}
System.out.println();
}
}
}

3. 모듈화
public class Bubble {
public static void main(String[] args) {
int[] arr = {5, 7, 3, 4, 2};
final int N = arr.length;
int temp;
if (arr[0] > arr[1]) {
temp = arr[0];
arr[0] = arr[1];
arr[1] = temp;
}
if (arr[1] > arr[2]) {
temp = arr[1];
arr[1] = arr[2];
arr[2] = temp;
}
if (arr[2] > arr[3]) {
temp = arr[2];
arr[2] = arr[3];
arr[3] = temp;
}
if (arr[3] > arr[4]) {
temp = arr[3];
arr[3] = arr[4];
arr[4] = temp;
}
for (int a = 0; a < 5; a++) {
System.out.print(arr[a] + " ");
}
4. 규칙성 찾고 통합하기
public class Bubble {
public static void main(String[] args) {
int[] arr = {5, 7, 3, 4, 2};
final int N = arr.length;
int temp;
for (int a = 0; a < N - 1; a++) {
for (int b = 0; b < N - a - 1; b++) {
if (arr[b] > arr[b + 1]) {
temp = arr[b];
arr[b] = arr[b + 1];
arr[b + 1] = temp;
}
}
for (int c = 0; c < 5; c++) {
System.out.print(arr[c] + " ");
}
System.out.println();
}
}
}

Share article