: 용어 자체가 어느 한 부분에 삽입한다는 어감이다.
-> 인덱스 1번의 데이터값을 임시변수에 저장후, 앞으로 이동 + 값을 비교하면서
해당위치에 삽입하겠다 라고 이해를 하자.
그러면 이렇게 작성할 수 있다.
for(int i = 1; i < n; i++)
{
int temp = arr[i];
int j;
for(j = i -1; j >= 0; j--)
{
if(temp < arr[j])
{
arr[j + 1] = arr[j];
}
else
{
break;
}
}
//break가 j 부분에서 되었으니 한칸 뒤로 보낸 컨테이너에다가 삽입해야한다.
arr[j + 1] = temp;
}
: 2018 카카오 캐시