Test102 정렬(sort) 알고리즘 / 선택정렬(Selection Sort)
※ 정렬 : 데이터를 특정한 규칙(기준)에 맞게 순서대로 나열(오름차순, 내림차순)
※ 정렬의 종류 : 선택 정렬, 버블 정렬, 삽입 정렬, 힙 정렬, 퀵 정렬, 쉘 정렬, ...
※ 정렬은 리소스 부하가 심하니 꼭 필요한 경우에 사용한다.
Test102.java
public class Test102
{
public static void main(String[] args)
{
int[] a = {52, 42, 12, 62, 60};
int[][] b = {{52, 42, 12}, {62, 60, 70}};
int i, j, temp;
System.out.print("Source Data : ");
for (int n : a) // a 배열 [0]부터 끝까지 n에 순차적용
System.out.print(n + " ");
System.out.println();
// Selection Sort 구현
for (i=0; i<a.length-1; i++) //-- 비교 기준 데이터 0 1 2 3 (-1 : 마지막은 안해도 돼서 뺌)
{
for (j=i+1; j<a.length; j++) //-- 비교 기준 데이터 1 2 3 4 (끝까지 돌아야해서 -1 안함)
{
// (a[i] < a[j]) : 내림차순
if (a[i] > a[j]) //-- a[i] > a[j] 일 경우 자리바꿈 (오름차순)
{
/* 방법 ①
temp = a[i];
a[i] = a[j];
a[j] = temp;
*/
// 방법 ②
a[i] = a[i]^a[j];
a[j] = a[j]^a[i];
a[i] = a[i]^a[j];
}
}
}
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_ Test104_ 정렬(Sort) 알고리즘 / 향상된 버블 정렬(Bubble Sort) (0) | 2018.06.14 |
---|---|
JAVA_ Test103_ 정렬(sort) 알고리즘 / 버블 정렬(Bubble Sort) (0) | 2018.06.14 |
JAVA_ Test101_ 주민번호 유효성 검사 공식 (0) | 2018.05.30 |
JAVA_ Test100_ 만년달력 (2) | 2018.05.29 |
이클립스 에러해결 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path (21) | 2018.05.21 |
댓글