2009年4月1日星期三

code: 用adjacent_find判断序列升序



int main(){

int a[] = {1,2,3,4,5,6,7};
int n = sizeof(a)/sizeof(int);

int* p = adjacent_find( a, a+n, greater());

if( p != a+n )
   cout<<" the " << p-a << " element is out of order " <<endl;
else
    cout<< " the sequence is in a ascending order "<<endl;

}


这段代码很简单,这里用adjacent_find的第二个版本:使用一个predicate来判断相邻的两个数是否是升序,注意,这里允许相邻的两个数字相同。比如{1,2,3,3,4,5,6,7}也被认为是升序。如果不希望这样,可以用greater_equal()这个Predicate。

没有评论: