Показать сообщение отдельно
Старый 23.11.2010, 15:46   #18  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Что-то задело меня.
Можно еще чуть пооптимизировать
X++:
{
...
    seedSet = Set::difference( newSet, oldSet ); // зародыши: новые значения будут браться отсюда
    if( seedSet.empty() )
        return ret; // не на что менять - поэтому ничего менять не нужно (gl00mie)

    deadSet = Set::difference( oldSet, newSet ); // мертвенькие: они исчезнут
    seedEnum = seedSet.getEnumerator();
    deadEnum = deadSet.getEnumerator();
    while ( deadEnum.moveNext() )
    {
        if ( !seedEnum.moveNext() )
            break; // чтобы не бегать в цикле лишний раз, если в зародышах ничего не осталось

        ret.addEnd([deadEnum.current(), seedEnum.current()]);
    }
    return ret;
}
__________________
полезное на axForum, github, vk, coub.