我搜索并找到一些随机数字,但是我不认为它适用于字符串。...例如,我在数组中有一个这样的列表:

string restaurants[] = {"Texas Roadhouse,","On The Border,","Olive Garden,","Panda       Express,","Cracker Barrel,","IHOP,","Panda Express,","Pei Wei"};


我该如何将其随机化或将它们全部交换并弄乱呢?

最佳答案

如果没有必要,不要重新发明轮子。

std::random_shuffle(std::begin(restaurants), std::end(restaurants));


在C ++ 03中,无需实现自己的beginend

std::random_shuffle(restaurants, restaurants + sizeof restaurants / sizeof restaurants[0]);


请注意,除非您使用诸如std::vector之类的东西,否则不要通过引用将其传递给函数来执行此操作,则需要将后者与其他size参数一起使用。

09-10 04:03