在QStringList中改组元素

时间:2017-12-09 06:05:38

标签: c++ list qt shuffle qstring

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

例如 -

QStringList names;
names<<"John"<<"Smith"<<"Anne";
改组可能会任意改变约翰,史密斯和安妮的位置!我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

使用标准std::random_shuffle功能:

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

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

#include <time.h>

// ...

qsrand(time(NULL));