QStringList或者是QList元素随机排序

QT中QStringList或者是QList不带有shuffle方法,如果要实现随机排序功能,可以利用std::random_shuffle 函数来实现


QStringList继承于QList<QString>

       因此处理QStringList与处理QList方式一致


测试代码

#include <QCoreApplication>
#include <QStringList>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QStringList strList ;
    strList << "hello" << "world" << "ni" << "hao" << "qt" << "test";
    QList<QString> list = strList;
    qDebug() << "QStringList before shuffle: " << strList;
    qDebug() << "QList before shuffle: " << list;

    std::random_shuffle(strList.begin(), strList.end());
    std::random_shuffle(list.begin(), list.end());

    qDebug() << "QStringList after shuffle: " << strList;
    qDebug() << "QList after shuffle: " << list;

    return a.exec();
}

测试结果

猜你喜欢

转载自blog.csdn.net/ice_ly000/article/details/84848256