博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
全排列
阅读量:5993 次
发布时间:2019-06-20

本文共 2665 字,大约阅读时间需要 8 分钟。

dd

#include 
using namespace std;void swap(char *a, char *b) { char tmp; tmp = *a; *a = *b; *b = tmp; } void perm(char list[], int beg, int end) { if(beg > end) { for(int i = 0; i <= end; i++) cout << list[i]; cout << endl; } else { for(int i = beg; i <= end; i++) { swap(&list[i], &list[beg]); perm(list, beg + 1, end); swap(&list[i], &list[beg]); } } } int main() { char list[] = {
'1', '2', '3'}; int lens = sizeof(list) / sizeof(*list); perm(list, 0, lens-1); return 0; }

dd

#include 
#include
using namespace std;void getPer(vector
&num, int index, vector
&tmp, vector
> &rev){ if (index == num.size()) rev.push_back(tmp); for (int i = index; i < num.size(); ++i) { swap(num[i], num[index]); tmp.push_back(num[index]); getPer(num, index+1, tmp, rev); tmp.pop_back(); swap(num[i], num[index]); }}vector
> permute(vector
&nums){ vector
> rev; vector
tmp; getPer(nums, 0, tmp, rev); return rev;}int main(){ vector
vec; vec.push_back(1); vec.push_back(2); vec.push_back(3); vector
> rev = permute(vec); cout << rev.size() << endl;}

dd

 

class Solution {public:    void getPermute(vector
&num, int index, vector
&tmp, vector
> &result) { if (index == num.size()) result.push_back(num); for (int i = index; i < num.size(); ++i) { swap(num[i], num[index]); tmp.push_back(num[index]); getPermute(num, index+1, tmp, result); tmp.pop_back(); swap(num[i], num[index]); } } vector
> permute(vector
&num) { vector
> result; vector
tmp; getPermute(num, 0, tmp, result); return result; }};

 

本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/3963534.html,如需转载请自行联系原作者

你可能感兴趣的文章
Calendar 日期类的使用
查看>>
Zookeeper-Watcher机制与异步调用原理
查看>>
RAID详解[RAID0/RAID1/RAID10/RAID5]
查看>>
Google Chrome降级脚本
查看>>
css3-元素属性动画--transition
查看>>
移除所有子视图
查看>>
Unix的缺陷
查看>>
Xstream 转成xml的元素名称规则
查看>>
大话说github for windows的分支开发与合并(2n1)
查看>>
Java获取到本机的IP的正确姿势
查看>>
文章详情按字数自动分页功能
查看>>
在使用JimStoneAjax时无法引入标签库TagLib的几种解决方法
查看>>
JavaEE——JavaScript
查看>>
mysql权限管理(二)
查看>>
asp.net mvc发送邮件
查看>>
Mybatis - 动态Sql
查看>>
android反编译系列之--apktool的使用
查看>>
centos6或7使用Yum安装mysql8.0
查看>>
如何解决MathType 6.9公式重叠
查看>>
开源jms服务ActiveMQ的负载均衡+高可用部署方案探索
查看>>