본문으로 바로가기

  

 

선택 정렬은 가장 작은 것을 선택해서 맨 앞으로 옮기고 바꾸는 것을 의미한다. 

굉장히 비효율적이고 빅오표기법으로 표기하면 O(N^2)이다.

 

* 빅오 표기법 

- 특정한 알고리즘의 수행시간을 간단히 표기

 

문제

- 다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하세요.

1 3 2 9 10 5 8 7 6 4

 

소스 코드

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        int arr[] = new int[10];
        Scanner sc = new Scanner(System.in);

        for(int k=0; k<10; k++) {
            arr[k] = sc.nextInt();
        }

        int i, j, min, index, temp;

        for(i=0; i<10; i++) {
            min = 9999;
            index = 0;
            for(j=i; j<10; j++) {
                if(min > arr[j]) {
                    min = arr[j];
                    index = j;
                }
            }
            temp = arr[i];
            arr[i] = arr[index];
            arr[index] = temp;
        }

        for(i=0; i<10; i++) {
            System.out.print(arr[i] + " ");
        }

    }
}

 

 

출력 결과