Re[12]: труд программера переоценен
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.12.05 17:42
Оценка:
Glоbus wrote:
>
> И так — убираем ненужный расчет длины
> — как оцените, драгоценнейший, такой вариант?

Пусть это оценивают знатоки C++

Я к их числу не принадлежу...

> template<class TTPred,class TTIterator>

> size_t countMaxes( TTIterator _start_it, TTIterator _end_it, const TTPred& _pred = TTPred() )
> {
> size_t nCnt = 0;
> size_t nCurr = 0;
> TTIterator val_it = _start_it;
> TTIterator prev_it = val_it, next_it = val_it;
> TTIterator last_it = _end_it;
> if( _start_it != _end_it )
> {
> --last_it;
> ++next_it;
> }//if
> while( val_it != _end_it )
> {
> if( (val_it == prev_it || _pred( *val_it, *prev_it )) &&
> (val_it == next_it || _pred( *val_it, *next_it )))
> {
> ++nCnt;
> }//if
> ++val_it;
> if( nCurr == 0 ) ++prev_it;
> if( val_it != last_it ) ++next_it;
> ++nCurr;
> }//while
> return nCnt;
> }
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.