Test103 정렬(sort) 알고리즘 / 버블 정렬(Bubble Sort)
※ 향상된 for문 → forEach 구문
for ( ②자료구조로부터꺼낸단일요소 : ①자료구조,배열 등)
{
}
Test103.java
public class Test103
{
public static void main(String[] args)
{
int[] a = {52, 42, 12, 62, 60};
int i, j, temp;
System.out.print("Source Data : ");
for (int n : a) // a 배열 [0]부터 끝까지 n에 순차적용
System.out.print(n + " ");
System.out.println();
// Bubble Sort 구현
for (i=1; i<a.length; i++) // 1 2 3 4 → 뒤에서 뺄셈을 수행해주는 역할
{
for (j=0; j<a.length-i; j++) // (0~3) (0~2) (0~1)
{
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];
}
}
}
/*
52 42 12 62 60 0 1
++---
42 52 12 62 60 1 2
++---
42 12 52 62 60 2 3
++---
42 12 52 62 60 3 4
++---
------------------------ 1 cycle (4번)
42 12 52 60 62 0 1
++---
12 42 52 60 62 1 2
++---
12 42 52 60 62 2 3
++---
------------------------ 2 cycle (3번)
12 42 52 60 62 0 1
++---
12 42 52 60 62 1 2
++---
------------------------ 3 cycle (2번)
12 42 52 60 62 0 1
++---
------------------------ 4 cycle (1번)
*/
System.out.print("Source Data : ");
for (int n : a) // a 배열 [0]부터 끝까지 n에 순차적용
System.out.print(n + " ");
System.out.println();
}
}
cmd
Source Data : 52 42 12 62 60
Source Data : 12 42 52 60 62
계속하려면 아무 키나 누르십시오 . . .
'Study Note > Java' 카테고리의 다른 글
JAVA_ Test105_ 정렬(Sort) 알고리즘) / 점수가 높은 순으로 등수 결과를 출력하는 프로그램 (0) | 2018.06.14 |
---|---|
JAVA_ Test104_ 정렬(Sort) 알고리즘 / 향상된 버블 정렬(Bubble Sort) (0) | 2018.06.14 |
JAVA_ Test102_ 정렬(sort) 알고리즘 / 선택정렬(Selection Sort) (0) | 2018.06.04 |
JAVA_ Test101_ 주민번호 유효성 검사 공식 (0) | 2018.05.30 |
JAVA_ Test100_ 만년달력 (2) | 2018.05.29 |
댓글