template< typename T >
void unique( T* arr, std::size_t& count )
{
std::size_t w = 0, r;
for( r = 1; r < count; ++r )
if( arr[ w ] != arr[ r ] )
arr[ ++w ] = arr[ r ];
count = w + ( count > 0 );
}
template< typename T >
void unique( T* arr, std::size_t& count )
{
std::size_t w = 0, r;
for( r = 1; r < count; ++r )
if( arr[ w ] != arr[ r ] )
arr[ ++w ] = arr[ r ];
count = w + ( count > 0 );
}
막줄 변태짓.
오 신기하게 count 0을 걸러주네
0이 들어올 가능성이 적으니까 앞에서 거르는것 보다 컴파일러가 중간에 은근슬쩍 끼워 넣어주길 바라고 짠 거. ㅋㅋ
내꺼도좀풀어줘. ㅠㅠㅠ위에꺼