2017-05-23 33 views
-2

请参阅下面的代码C++如何在cout之前混洗/混合字符串?

random_shuffle(cq.begin(), cq.end()); 
cout << cq ; 

据我所知,我在一个cq连接两个字符串cq。然后我想在cout之前洗牌/混合它。我怎么做?

感谢您的答案提前

+3

什么是理想的结果VS你现在所得到的结果呢? –

+2

你的问题不清楚。 “将两个字符串'c'和'q'连接到一个'cq'”是什么意思?请注意'std :: random_shuffle()'在C++ 14中已被弃用,并从C++ 17中删除。改用'std :: shuffle()'。 – Peter

+0

大家好,谢谢你的回答。可以说,如果我有一个字符串colled cq中的10个符号(数字和字母)。如何在cout之前混合它? – AndriusJ

回答

1
#include <iostream> 
#include <random> 
#include <algorithm> 

int main() 
{ 
    std::string str = "StackOverflow"; 
    std::random_device rd; 
    std::mt19937 g(rd()); 
    std::shuffle(str.begin(), str.end(), g); 
    std::cout << str.c_str() << std::endl; 

    return 0; 
} 

你可以阅读更多细节上http://en.cppreference.com/w/cpp/algorithm/random_shuffle