标签:
利用next_permutation实现全排列升序输出,从尾到头找到第一个可以交换的位置,
直接求到第一个不按升序排列的序列。
1 #include <iostream> 2 #include <algorithm> /// next_permutation, sort 3 #define MAX 100 4 using namespace std; 5 6 int main() { 7 int myints[MAX],n; 8 cin >> n; 9 for (int i = 0; i < n; i++) 10 { 11 cin >> myints[i]; 12 } 13 sort(myints, myints + n); 14 15 do { 16 for (int i = 0; i < n; i++) 17 { 18 cout << myints[i] <<" "; 19 } 20 cout << endl; 21 } while (next_permutation(myints, myints + n)); ///获取下一个较大字典序排列 22 23 system("pause"); 24 return 0; 25 }
同理,prev_permutation恰恰相反。
STL next_permutation和prev_permutation函数
标签:
原文地址:http://www.cnblogs.com/SeekHit/p/5631121.html