<버블정렬의 정렬방법>
52, 42, 12, 62, 60 → 0 1
======
52, 12, 52, 62, 60 → 1 2
======
52, 12, 52, 62, 60 → 2 3
======
52, 12, 52, 60, 62 → 3 4
======
------------------------------------------------------1회전
12, 42, 52, 60, 62 → 0 1
======
12, 42, 52, 60, 62 → 2 3
======
12, 42, 52, 60, 62 → 3 4
======
----------------------------------------------------- 2회전
12, 42, 52, 60, 62 → 0 1
======
12, 42, 52, 60, 62 → 1
======
----------------------------------------------------- 3회전
12, 42, 52, 60, 62 → 0 1
======
----------------------------------------------------- 4회전
public class Test103
{
public static void main(String[] args)
{
int[] a = {52, 42, 12, 62, 60}; //버블은 선택정렬과 다르게 가장 왼쪽이 아닌 가장 오른쪽이 fix된다
int i,j;
System.out.print("Source Data : " );
// 향상된 for 문 또는 forEach구문
for (int n:a) // 가장 첫번째로 처리하는 부분은 : ←의 오른쪽부분
System.out.print(n + " ");
System.out.println();
// Bubble Sort 구현
for (i=1; i<a.length; i++) // 1234 //a,length-i에서 뺄셈을 해주는 효과
{
for (j=0; j<a.length-i; j++) 0123, 012, 01, 0
{
if (a[j] >a[j+1])
{
a[j] = a[j]^a[j+1]
a[j+1] = a[j+1]^a[j]
a[j] = a[j]^a[j+1]
}
}
}
//결과물 출력
System.out.print("Sorted Data : ");
for (int n:a) // a배열에서 하나씩 꺼내서 int n 이라는 변수에 담아서 처리해라
System.out.print(n + " ");
System.out.println();
}
}
'📚Study Note > JAVA' 카테고리의 다른 글
[ JAVA ] 배열과 정렬알고리즘을 활용한, 성적 등수 출력 (0) | 2021.03.27 |
---|---|
[ JAVA ] 정렬 (Sort) 알고리즘 : "향상된" 버블 정렬 (Bubble Sort) (0) | 2021.03.27 |
[ JAVA ] 정렬 (Sort) 알고리즘 : 선택 정렬 (Selection Sort) (0) | 2021.03.27 |
[ JAVA ] 주민등록번호 유효성 검사(...는 이제 안됨) (0) | 2021.03.27 |
[ JAVA ] 배열을 활용한 만능달력 (0) | 2021.03.27 |