next_permutation的使用

#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

int main()
{
    string s("12435");

    sort(s.begin(), s.end());
    cout << s << endl;

    //next_permutation的使用
    while (next_permutation(s.begin(), s.end()))
        cout << s << endl;

    cin.get();
    return 0;
}
时间: 2024-09-23 15:19:11

next_permutation的使用的相关文章

C++实现全排列(调用next_permutation)

#include <iostream> #include <algorithm> using namespace std; int main() { int i; int source[30]; int size; cin >> size; // 初始化待排列数组元素为1.2.3...n for (i = 0; i < size; i++) { source[i] = i + 1; } while (true) { for (i = 0; i < size;

POJ1833 next_permutation函数应用

排列 Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 13140   Accepted: 5451 Description 题目描述:  大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列.  任务描述:  给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1

【OJ】排列 n! STL函数next_permutation // Anagram / hzu.acmclub.com10317 / poj 1256

题目链接:点击打开链接 <pre name="code" class="cpp">/* 排列 n! poj1256 Anagram */ #include<iostream> #include<cstring> #include<cstdio> #include<cctype> #include<algorithm> using namespace std; bool cmp(char a,ch

HDOJ 1716 排列2 next_permutation函数

Problem Description Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数. Input 每组数据占一行,代表四张卡片上的数字(0<=数字<=9),如果四张卡片都是0,则输入结束. Output 对每组卡片按从小到大的顺序输出所有能由这四张卡片组成的4位数,千位数字相同的在同一行,同一行中每个四位数间用空格分隔. 每组输出数据间空一行,最后一组数据后面没有空行. Sample Input 1 2 3 4 1 1

HDOJ 1716 排列2(next_permutation函数)

先讲下用这个函数来求,后面有递归的方法. 用了两种方法. 这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件 下面是以前的笔记 与之完全相反的函数还有prev_permutation (1) int 类型的next_permutation int main() { int a[3]; a[0]=1;a[1]=2;a[2]=3; do { cout<<a[0]<<" "<<a[1]<<" "<<

poj 3187 Backward Digit Sums【next_permutation】

点击打开题目 Backward Digit Sums Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4498   Accepted: 2586 Description FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N <= 10) in a certain order and then

C++ 全排列函数 std::next_permutation与std::prev_permutation

C++ STL中提供了std::next_permutation与std::prev_permutation可以获取数字或者是字符的全排列,其中std::next_permutation提供升序.std::prev_permutation提供降序. 1.std::next_permutation函数原型 template <class BidirectionalIterator> bool next_permutation (BidirectionalIterator first, Bidir

LeetCode:Permutation Sequence

题目链接:http://oj.leetcode.com/problems/permutation-sequence/ The set [1,2,3,-,n] contains a total of n! unique permutations. By listing and labeling all of the permutations in order, We get the following sequence (ie, for n = 3): "123" "132&q

UVa 167:The Sultan&#039;s Successors, 八皇后问题

题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=108&page=show_problem&problem=103 题目类型: 回溯 原题: The Sultan of Nubia has no children, so she has decided that the country will be split into up to k separate