random_shuffle() 随机化

//STL中的函数random_shuffle()用来对一个元素序列进行重新排序(随机的),函数原型如下:
/* template 
    void random_shuffle(
        RandomAccessIterator _First,   //指向序列首元素的迭代器
        RandomAccessIterator _Last      //指向序列最后一个元素的下一个位置的迭代器
    );
*/

#include 
using namespace std;

int main()
{
    char b[]="abcde";
    char a[10];
    cout<<"char:"<

 

root# g++ random_shuffle.cpp -o random_shuffle
root# ./random_shuffle

char:
edbca
acebd
acebd
beadc
debca
abcde
badec
adecb
cdeab
acedb

int:
3 4 1 2 5
2 3 4 1 5
3 5 1 2 4
4 2 3 5 1
4 5 3 2 1
4 2 5 3 1
2 1 4 3 5
5 2 3 1 4
3 1 5 2 4
5 1 3 4 2
 

#include 
#include 
#include 
#include 

using namespace std;

int main(int argc,char *argv[])
{
    vector str;
   // vector尾部加入一个数据
    str.push_back("hello");
    str.push_back("world");
    str.push_back("welcome");
    str.push_back("to");
    str.push_back("Beijing");

    std::random_shuffle(str.begin(),str.end());  //迭代器

    for(int j=0;j

root# g++ random_shuffle.cpp -o random_shuffle
root# ./random_shuffle


Beijing to world welcome hello
 

random_shuffle还可以用于数组:

#include 
#include 
#include 
#include 

using namespace std;

int main(int argc,char *argv[])
{
    char arr[]={'a','b','c','d','e','f'};
    std::random_shuffle(arr,arr+6);     //迭代器
    for(int j=0;j<6;j++)
        {
            cout<

root# ./random_shuffle
e d b c a f
 

你可能感兴趣的:(random_shuffle() 随机化)