给定正整数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()));
}

最新文章

  1. JavaScript- jquery easyui 可编辑表格插件 easyui.editgrid
  2. 开发者如何利用工具快速开发出完美APP
  3. 由文章缩略图读出banner图
  4. SEP图示
  5. NSNotificationCenter 的详细说明
  6. linux校准时间
  7. Android-5 理解context
  8. 模板页 相对路径 JS 加载问题
  9. web worker 扫盲篇
  10. Express中间件的意思 next()的方法
  11. Nginx系列0:Nginx学习历程
  12. Codeforces 513E2 Subarray Cuts dp (看题解)
  13. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第4章编程练习3
  14. VUE中如何优雅的动态绑定长按事件
  15. asp.net使用include包含文件
  16. Spark参数配置
  17. 基于三个kinect的人体建模
  18. 基于Python的接口测试框架实例
  19. 北京Uber优步司机奖励政策(12月18日)
  20. unity, read text file

热门文章

  1. IDA设置函数类型
  2. The Struts dispatcher cannot be found. This is usually caused by using Struts ta
  3. Openfire 性能优化
  4. 【mysql】mysql查询 A表B表 1对多 统计A表对应B表中如果有对应,则返回true否则false作为A表查询结果返回
  5. Java:初学 Java,遇到的问题及解决方案小结。
  6. Openshift 3.11和LDAP的集成
  7. linuxShell检测内网中存活主机,windows下net view/nmblookup
  8. longest-palindrome
  9. datanode无法启动问题
  10. .net平台推送ios消息