- 변수 i 는 배열에 저장된 값 갯수
- 값을 입력받을 때 마다 마지막 index 부터 앞 index 로 이동해가며 tmp 값과 배열 값들을 비교함.
- tmp 값보다 작거나 같은 값을 만날 때 까지 기존 배열값들을 하나씩 뒤로 옮김.
- 작거나 같은 값을 만나면 그 뒤에 tmp를 위치시킴.
package variable_array_for_statement;
import java.util.Scanner;
public class Code15 {
public static void main(String[] args) {
/*
* OrderedList insert
*
* 사용자로부터 n 개의 정수를 받음.
* 정수가 하나씩 입력될 때 마다 현재까지 입력된 정수들을 오름차순으로 정렬하여 출력하기
*/
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int [] data = new int[n];
for(int i = 0; i < n; i++) {
int tmp = sc.nextInt();
int j = i-1;
while(j >= 0 && data[j] > tmp) {
data[j+1]=data[j];
j--;
}
data[j+1] = tmp;
for(int k = 0; k < i + 1; k++) {
System.out.print(data[k] + " ");
}
System.out.println();
}
sc.close();
}
}