본문 바로가기

개인 과제/디버깅표 작성

[디버깅표] 삽입정렬 코드에 대한 디버깅표 작성

코드

//배열 선언
int[] arr = new int[5];

//배열에 데이터 넣기
arr[0]=100;
arr[1]=5;
arr[2]=60;
arr[3]=1000;
arr[4]=30;

//비교 기준 값을 넣는 변수
int pivot;

//1번 인덱스 부터 반복
//기준 값 꺼내기 
for(int i=1;i<arr.length;i++) 
{

    //기준 값 지정
    pivot = arr[i];

    int j;

    //0번 인덱스 부터 반복
    //비교 값 꺼내기
    for(j=i-1;j>=0;j--) 
    {

        //비교 값이 기준 값보다 크다면
        if(arr[j] > pivot) 
        {

            //비교 값을 한 칸 뒤로 넣는다
              arr[j + 1] = arr[j];    

              //원래 비교 값 자리에 기준 값을 넣는다.
              arr[j] = pivot;

         }

      }

}

디버깅표

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