C++全排列问题

全排列函数

引入头文件

#include <algorithm>

函数原型

bool next_permutation(iterator start,iterator end)

示例1

//next_permutation(arr,arr+n)函数是对数组arr中的前n个元素进行全排列,同时并改变arr数组的值
#include <iostream>  
#include <algorithm>  
using namespace std;  
int main()  
{  
    int arr[3]={1,2,3};  
    do  
    {  
        cout<<arr[0]<<" "<<arr[1]<<" "<<arr[2]<<endl;  
    }while(next_permutation(arr,arr+3));  
    return 0;  
}  

/*
输出结果为
123
132
213
231
312
321
*/

示例2

#include <iostream>  
#include <algorithm>  
using namespace std;  
int main()  
{  
    int arr[3]={1,2,3};  
    do  
    {  
        cout<<arr[2]<<" "<<arr[1]<<" "<<arr[0]<<endl;  
    }while(next_permutation(arr,arr+2));  
    return 0;  
}  
/*
输出结果为
312
321
只有arr[0],arr[1]进行全排列
arr[2]未进行全排列
*/

例题:1002

全部评论

相关推荐

牛马人的牛马人生:太舒服了接接接
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务