선택 정렬은 전체원소들 중에서 기준 위치에 맞는 원소를 선택하여 자리를 교환하는 방식으로 정렬한다. 전체 원소 중에서 가장 작은 원소를 찾아 선택하여 첫 번째 원소와 자리를 교환한다. 그 다음 두 번째로 작은 원소를 찾아 선택하여 두 번째 원소와 자리를 교환하고, 그 다음에는 세 번째로 작은 원소를 찾아서 세 번쨰 원소와 자리를 교환한다. 과정을 반복하면서 정렬을 완성한다.
시간복잡도 O(n^2)
public class selectionSort {
public static void main(String[] args) {
int a[]={69,10,30,2,16,8,31,22};
int min,temp;
for(int i=0 ; i<a.length ; i++){
System.out.print(a[i]+" ");
}
System.out.println("\n");
for(int i=0 ; i<a.length-1 ; i++){
min=i;
for(int j=i+1 ; j<a.length ; j++){
if(a[j]<a[min]) min=j;
}
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
for(int i=0 ; i<a.length ; i++){
System.out.print(a[i]+" ");
}
System.out.println("\n");
}
}
'Algorithm' 카테고리의 다른 글
병합 정렬(Merge Sort) (0) | 2014.12.03 |
---|---|
삽입 정렬(Insert Sort) (0) | 2014.12.02 |
퀵 정렬(Quick Sort) (0) | 2014.12.02 |
버블 정렬(Bubble Sort) (0) | 2014.12.02 |
정렬 장소에 따른 분류 (0) | 2014.12.02 |