1. C++ / Говнокод #3401

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    //sort rr
        unsigned int i = 0;
        unsigned int random = time(NULL);
        unsigned int nummx = rr->size();
        while (nummx > 0){
            unsigned long numsame=1;
            i = 0;
            for (unsigned int j = 1;j < nummx;++j)
                if ((*rr)[j].m_pref > (*rr)[i].m_pref){
                    i = j;
                    numsame = 1;
                }else if ((*rr)[j].m_pref == (*rr)[i].m_pref){
                    ++numsame;
                    random = random * 69069 + 1;
                    if ((random / 2) < (2147483647 / numsame))
                        i = j;
                }
            swap((*rr)[i],(*rr)[--nummx]);
        }

    Что делает код - достоверно неизвестно. Скорее всего, что-то сортирует и одновременно перемешивает.

    Запостил: gpr, 05 Июня 2010

    Комментарии (94) RSS

    Добавить комментарий