sw2007/06/18 13:29

 - 이미 정렬이 된 부분에 새로운 키를 적절한 장소에 삽입하는 동작을 반복함
 - 과정
  + 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);
}


Posted by redef

댓글을 달아 주세요