본문 바로가기
Study Note/Java

JAVA_ Test102_ 정렬(sort) 알고리즘 / 선택정렬(Selection Sort)

by 시뮝 2018. 6. 4.
728x90


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

계속하려면 아무 키나 누르십시오 . . .







728x90

댓글