- 이미 정렬이 된 부분에 새로운 키를 적절한 장소에 삽입하는 동작을 반복함
- 과정
+ n번째 키를 앞의 n-1개의 키와 비교하여 삽입될 적당한 위치를 찾아 삽입한다.
void InsertionSort(int *arr, int nSize)
{
for(int i = 1; i < nSize; i++)
{
int n = arr[i];
int j = i;
while( (arr[j - 1] > n) && ( j > 0 ) )
{
arr[j] = arr[j - 1];
j--;
}
arr[j] = n;
}
}void main()
{
int array[10] = { 4,6,3,9,2,5,7,1,8,0};
InsertionSort(array, 10);
}
댓글을 달아 주세요