간단하게 작성한 삽입 정렬입니다.
간단하게 원리를 설명드리면, 배열에 index는 1에서 부터 시작해서(1 <= x < N ) N까지
정렬을 합니다. index한 녀석을 집어 넣을 위치를 찾는 것입니다.
코드는 따로 설명 드리지 않겠습니다.
void InsertSort( int *_arrayBuffer, int _bufferSize )
{
for( int i = 1; i < _bufferSize; i++ )
{
int insertionValue= _arrayBuffer[ i ];
int nInsertPosition = i;
while( _arrayBuffer[nInsertPosition-1] > insertionValue && nInsertPosition > 0 )
{
_arrayBuffer[nInsertPosition ] = _arrayBuffer[ nInsertPosition - 1 ];
nInsertPosition--;
}
_arrayBuffer[ nInsertPosition ] = insertionValue;
}
}
배열안에 값들이 정렬이 이루어져 있으면 N 에 대한 성능을 가질 수 있다고 하는군요.
그럼 고운하루 되세요.