发帖数: 1 | 2 我试着用C写了一下。也是先判断升序降序,然后是分LESS THAN, LESS THAN EQUAL,
GREATER THAN, GREATER THAN EQUAL, EQUAL, 一共5中情况,然后每种情况的区别主
要是>,还是<以及第一个数组元素与SEARCH KEY所比较的特殊CORNER CASE。
CODE显得很繁琐。
哪位大牛能举个FUNCTOR的例子。
多谢。
//升序
case( LessThan ):
{
i = 0;
while ( ( items[ i ] < key ) )
i++;
if( ( i == num_elems ) || ( ( elem[ i ] >= key ) && ( i == 0 ) ) )
result= NotExist;
else
{
*index = i - 1;
result = FoundResult;
}
... 阅读全帖 |
|