【C++】全排列
2024-08-31 14:34:17
给定正整数n,求1,2,3,...,n的全排列
解法一:递归,结果并不为字母序排列。
void Helper(vector<int> v, int low, int high)
{
if(low == high)
{
for(int i = ; i < v.size(); i ++)
cout << v[i];
cout << endl;
}
else
{
for(int i = low; i <= high; i ++)
{
swap(v[low], v[i]);
Helper(v, low+, high);
swap(v[low], v[i]);
}
}
}
void permutation(int n)
{
vector<int> v(n,);
for(int i = ; i < n; i ++)
v[i] = i+;
Helper(v, , n-);
}
解法二:algorithm库中的next_permutation函数,结果按字母序排列
void permutation(int n)
{
vector<int> v(n,);
for(int i = ; i < n; i ++)
v[i] = i+;
do
{
for(int i = ; i < v.size(); i ++)
cout << v[i];
cout << endl;
}while(next_permutation(v.begin(),v.end()));
}
最新文章
- JavaScript- jquery easyui 可编辑表格插件 easyui.editgrid
- 开发者如何利用工具快速开发出完美APP
- 由文章缩略图读出banner图
- SEP图示
- NSNotificationCenter 的详细说明
- linux校准时间
- Android-5 理解context
- 模板页 相对路径 JS 加载问题
- web worker 扫盲篇
- Express中间件的意思 next()的方法
- Nginx系列0:Nginx学习历程
- Codeforces 513E2 Subarray Cuts dp (看题解)
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第4章编程练习3
- VUE中如何优雅的动态绑定长按事件
- asp.net使用include包含文件
- Spark参数配置
- 基于三个kinect的人体建模
- 基于Python的接口测试框架实例
- 北京Uber优步司机奖励政策(12月18日)
- unity, read text file
热门文章
- IDA设置函数类型
- The Struts dispatcher cannot be found. This is usually caused by using Struts ta
- Openfire 性能优化
- 【mysql】mysql查询 A表B表 1对多 统计A表对应B表中如果有对应,则返回true否则false作为A表查询结果返回
- Java:初学 Java,遇到的问题及解决方案小结。
- Openshift 3.11和LDAP的集成
- linuxShell检测内网中存活主机,windows下net view/nmblookup
- longest-palindrome
- datanode无法启动问题
- .net平台推送ios消息