Показать сообщение отдельно
Старый 24.11.2010, 15:05   #20  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
вариант
парадоксально простой алгоритм получается, если пытаться сохранить сортировку старых элементов.
X++:
    ret = new List( Types::Container );

    setIterOld = new SetIterator( _setOfValues2Replace );
    setIterNew = new SetIterator( _setOfNewValues );

    while (setIterNew.more() && setIterOld.more())
    {
        if (setIterOld.value() > setIterNew.value())
        {
            ret.addEnd( [ setIterOld.value(), setIterNew.value() ] );
        }
        else if (setIterOld.value() < setIterNew.value())
        {
            ret.addStart( [ setIterOld.value(), setIterNew.value() ] );
        }

        setIterNew.next();
        setIterOld.next();
    }

    return ret;
За это сообщение автора поблагодарили: mazzy (5), gl00mie (5).