【问题标题】:shuffling elements in a QStringList改组 QStringList 中的元素
【发布时间】:2018-05-23 09:02:36
【问题描述】:

在我的 Qt c++ 应用程序中,我有一个包含一组 QString 值的 QStringList!我想洗牌(随意改变 QStringList 中 QStrings 的位置)。 perl 中有没有像“shuffle_array”API 这样的默认函数?如果没有,我该怎么办?

例如-

QStringList names;
names<<"John"<<"Smith"<<"Anne";

洗牌可能会任意改变约翰、史密斯和安妮的位置!我怎样才能做到这一点?

【问题讨论】:

    标签: c++ list qt shuffle qstring


    【解决方案1】:

    使用标准的std::random_shuffle函数:

    std::random_shuffle(names.begin(), names.end());    
    

    另外,不要忘记生成一个新的随机数序列,否则每次都会产生相同的结果:

    #include <time.h>
    
    // ...
    
    qsrand(time(NULL));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多