import java.util.Arrays;
import java.util.Scanner;
public class Example1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 1. 몇 개를 정렬?
System.out.print("몇 개를 정렬하시겠습니까? ---> ");
int size = sc.nextInt();
// 결과를 저장할 배열 선언
int[] nums = new int[size];
// 2. 숫자의 갯수에 맞게 입력
System.out.println("정렬하실 숫자를 입력해주십시오.");
for (int i=0; i<size; i++) {
System.out.printf("%d칸 중 %d개 입력중... --> ", size, i+1);
nums[i] = sc.nextInt();
}
// 3. 오름/내림
System.out.println("정렬 방식을 선택해주세요.");
System.out.print("오름차순 (0) / 내림(1) --> ");
int how = sc.nextInt();
// 4. 방법에 맞게 정렬
// 선택 정렬로, 오름차순 정렬
if (how == 0) {
for (int i = 0; i < nums.length; i++) {
// 인덱스 처음에서부터 순차적으로 min 값 초기 할당
int min_index = i;
for (int j = i+1; j < nums.length; j++) {
// 전체를 검사하며 min_index 검사 후 초기화
if (nums[j] < nums[min_index]) {
min_index = j;
}
}
// 자리 이동 (Swap)
int temp = nums[i];
nums[i] = nums[min_index];
nums[min_index] = temp;
}
} else if (how == 1) {
for (int i = 0; i < nums.length; i++) {
// 인덱스 처음에서부터 순차적으로 max 값 초기 할당
int max_index = i;
for (int j = i+1; j < nums.length; j++) {
// 전체를 검사하며 min_index 검사 후 초기화
if (nums[j] > nums[max_index]) {
max_index = j;
}
}
// 자리 이동 (Swap)
int temp = nums[i];
nums[i] = nums[max_index];
nums[max_index] = temp;
}
}
// 5. 결과 출력
System.out.print(Arrays.toString(nums));
}
}