Qt 随机数的生成

2017-02-27  本文已影响508人  Feel君

1、生成一定范围内的随机数

/*
 * 生成 [ 0 - nMax ]范围内不重复的数据 nCount 个
 * 注意, nMax 不小于 nCount
 *
 */
QList<int> random(int nMax, int nCount)
{
    QList<int> intList;
    int   i=0, m=0;
    QTime time;
    for(i=0;;)
    {
        if (intList.count() > nCount)
            break;

        int     randn;
        time    = QTime::currentTime();
        qsrand(time.msec()*qrand()*qrand()*qrand()*qrand()*qrand()*qrand());
        randn   = qrand()%nMax;
        m=0;

        while(m<i && intList.at(m)!=randn)
            m++;

        if(m==i)            { intList.append(randn); i++;}
        else if(i==nMax)    break;
        else                continue;
    }

    return intList;
}
上一篇下一篇

猜你喜欢

热点阅读