1. 程式人生 > >QStringList或者是QList元素隨機排序

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();
}

測試結果