선택정렬(select sort)
배열을 전부 탐색하여 최소값을 고르고 왼쪽부터 채워나가는 방식의 정렬
데이터의 양이 적을 때 좋은 성능을 나타낸다. (교환횟수가 적다) 하지만
배열을 전부 탐색하여 최소값을 찾아야 하기 때문에 100개 이상의 자료에서는 급격하게 속도가 저하된다.
package com.ohgiraffers.section04.sort;
public class Application3 {
public static void main(String[] args) {
int [] iarr = {2, 5, 4, 6, 1, 3};
int temp;
int min;
for(int i = 0; i < iarr.length - 1; i++) {
min = i; // 인덱스 값
for(int j = i + 1; j < iarr.length; j++) {
if(iarr[min] > iarr[j]) {
min = j; // 인덱스 값
}
}
temp = iarr[min];
iarr[min] = iarr[i];
iarr[i] = temp;
}
for(int i = 0; i < iarr.length; i++) {
System.out.print(iarr[i] + " ");
}
System.out.println();
}
}

//결과값
1 2 3 4 5 6
'JAVA > 알고리즘' 카테고리의 다른 글
[JAVA] 순차 정렬 (0) | 2024.03.18 |
---|
선택정렬(select sort)
배열을 전부 탐색하여 최소값을 고르고 왼쪽부터 채워나가는 방식의 정렬
데이터의 양이 적을 때 좋은 성능을 나타낸다. (교환횟수가 적다) 하지만
배열을 전부 탐색하여 최소값을 찾아야 하기 때문에 100개 이상의 자료에서는 급격하게 속도가 저하된다.
package com.ohgiraffers.section04.sort;
public class Application3 {
public static void main(String[] args) {
int [] iarr = {2, 5, 4, 6, 1, 3};
int temp;
int min;
for(int i = 0; i < iarr.length - 1; i++) {
min = i; // 인덱스 값
for(int j = i + 1; j < iarr.length; j++) {
if(iarr[min] > iarr[j]) {
min = j; // 인덱스 값
}
}
temp = iarr[min];
iarr[min] = iarr[i];
iarr[i] = temp;
}
for(int i = 0; i < iarr.length; i++) {
System.out.print(iarr[i] + " ");
}
System.out.println();
}
}

//결과값
1 2 3 4 5 6
'JAVA > 알고리즘' 카테고리의 다른 글
[JAVA] 순차 정렬 (0) | 2024.03.18 |
---|