next_permutation用法

全排列

next_permutation   (默认)得到下一次排列的顺序

prev_permutation   (默认)得到上一次排列的顺序

<函数包含在#include<algorithm>的头文件里

prev_permutationnext_permutation用法相同

一、对int类型数组排列(chardouble型与int相同)

int num[100];

int cmp(int a ,int b)

{

      return a < b;   //若将 > 改为<则相当于prev_permutation

}

next_permutation(num,num+100,cmp);

next_permutation(d,d+100,cmp);

 

三、对string类型排列

string str;

int cmp(char a ,char b)

{  

      return a<b;

}

next_permutation(str.begin(),str.end(),cmp);

 

二、对结构体一级排列

struct In

{

      int x,y;

}s[100];

int cmp(In a ,In b)

{

      return a.x<b.x;

}

next_permutation(s,s+100,cmp);

 

你可能感兴趣的:(next_permutation用法)