● 정렬이란?
: 데이터를 특정한 규칙(기준)에 맞게 순서대로 나열(오름차순 , 내림차순)
● 정렬의 목적
: 데이터 처리 과정의 편의성이나 가독성을 높이기 위함
→ 보기 좋게... 검색하기 위함.
※ 정렬은... 리소스 소모가 심하다.
● 정렬의 종류
: 선택정렬, 버블정렬, 삽입정렬, 힙정렬, 쉘정렬, 퀵정렬 .... 이외에도 많다.
<선택정렬>
52, 42,12,62,60 →0,1
======
42, 52,12,62,60 →0,2
=== ===
12, 52,42,62,60 →0,3
=== ===
12, 52,42,62,60 →0,4
=== ===
----------------------------------------1회전
12, 42,52,62,60 →1,2
======
import java.util.Scanner;
public class Test102
{
public static void main(String[] args)
{
int[] a = {52, 42, 12, 62, 60};
int i,j;
System.out.print("Source Data : " );
/*for (i=0; i<a.length; i++)
{
System.out.print(a[i] + " ");
}
System.out.println();*/
// 향상된 for 문 또는 forEach구문
for (int n:a) // 가장 첫번째로 처리하는 부분은 : ←의 오른쪽부분
System.out.print(n + " ");
System.out.println();
// Selection Sort 구현
for (i=0; i<a.length-1; i++) // i → 0 1 2 3
{
for (j=i+1; j<a.length ; j++) // j → 0 : 1234 1:234 2:34 3:4
{
if (a[i] > a[j])
{
a[i] = a[i]^a[j];
a[j] = a[j]^a[i];
a[i] = a[i]^a[j];
}
}
}
//결과물 출력
System.out.print("Sorted Data : ");
for (int n:a)
System.out.print(n + " ");
System.out.println();
}
}
'📚Study Note > JAVA' 카테고리의 다른 글
[ JAVA ] 정렬 (Sort) 알고리즘 : "향상된" 버블 정렬 (Bubble Sort) (0) | 2021.03.27 |
---|---|
[ JAVA ]정렬 (Sort) 알고리즘 : 버블 정렬 (Bubble Sort) (0) | 2021.03.27 |
[ JAVA ] 주민등록번호 유효성 검사(...는 이제 안됨) (0) | 2021.03.27 |
[ JAVA ] 배열을 활용한 만능달력 (0) | 2021.03.27 |
[ JAVA ] 배열 (Array)의 복사, 합집합 출력 (0) | 2021.03.27 |