코드
//배열 선언
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 |
'개인 과제 > 디버깅표 작성' 카테고리의 다른 글
[디버깅표] 선형탐색 코드에 대한 디버깅표 작성 (0) | 2023.12.01 |
---|---|
[디버깅표] 이진탐색 코드에 대한 디버깅표 작성 (0) | 2023.11.30 |
[디버깅표] 선택정렬 코드에 대한 디버깅표 작성 (0) | 2023.11.29 |