OrderedList insert

Judo·2020년 8월 19일
0
post-thumbnail
  • 변수 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();
	}

}
profile
즐거운 코딩

0개의 댓글