在QStringList中改组元素

shuffling elements in a QStringList

本文关键字:元素 QStringList      更新时间:2023-10-16

在我的qt C 应用程序中,我有一个包含一组QString值的QStringList!我想洗牌(任意更改QStringList中QString的位置)。Perl中是否有默认函数,例如" Shuffle_array" API?如果不是,我该怎么做?

eg-

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

改组可能会改变约翰,史密斯和安妮的职位!我该如何实现?

使用标准std::random_shuffle函数:

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

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

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