Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

노승현

삽입정렬 코드 및 디버깅표 본문

JAVA/문제풀이

삽입정렬 코드 및 디버깅표

nsh95 2023. 11. 28. 21:38
package class01;

public class Test01 {
	public static void main(String[] args) {
		int[] arr = new int[5];
		
		arr[0]=100;
		arr[1]=5;
		arr[2]=60;
		arr[3]=1000;
		arr[4]=30;
		
		for (int i = 1; i < arr.length; i++) {	// 정렬 횟수를 의미
			int pivot = arr[i];	//pivot (기준)
			for(int j=i-1; j>-1; j--) {
			// for(int j= 기준왼쪽부터; j>=0; j--){}
			
				
				
				// 비교값이 기준값보다 크다면?
				// 비교값을 한칸 뒤로 이동시킨다
				// 그리고 기존 비교값이 있던 자리에 기준 값을 넣는다
				if(arr[j]>pivot) {
					arr[j+1]=arr[j];
					arr[j]=pivot;
					//[5,100,60,1000,30]	1회전
					//[5,60,100,1000,30]	2회전
					//[5,60,100,30,1000]	3회전
					//[5,60,30,100,1000]	4회전
					//[5,30,60,100,1000]	5회전
				}
			}
		}for(int a:arr) {
			System.out.print(" "+a);
		}
		
	}
	
}

 

 

코드에 따른 삽입정렬 디버깅표

 

i i<5 j j>-1 arr[j]>pivot
1 T 0 T 100>5 T
    -1 F  
2 T 1 T 100>60 F
    0 T 5>60 F
    -1 F  
3 T 2 T 100> 1000 F
    1 T 60>1000 F
    0 T 5>1000 F
    -1 F  
4 T 3 T 1000>30 T
    2 T 100>30 T
    1 T 60>30 T
    0 T 5>30 F
    -1 F  

 

'JAVA > 문제풀이' 카테고리의 다른 글

포켓몬 상속으로 객체 만들기  (0) 2023.12.01
선택정렬(selection sort)  (0) 2023.11.29
버블정렬  (0) 2023.11.27
배열 최대값 찾기 디버깅표 및 풀이과정  (1) 2023.11.23
제어문 문제풀이 연습  (0) 2023.11.22