博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ 求数组元素的全排列
阅读量:5950 次
发布时间:2019-06-19

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

1 #include
2 using namespace std; 3 template
void print(T* a, int len) 4 { 5 if(a == NULL) 6 return; 7 for(int i = 0; i < len; i++) 8   cout << a[i] << " "; 9 cout << endl;10 }11 template
void swap(T* a, T* b)12 {13 T tmp = *a;14 *a=*b;15 *b=tmp;16 }17 template
void permutation(T* a,int k,int len)18 {19 if(k >= len)//k代表数组的下标,len代表数组的长度,所以k>=len时就该输出了。20 {21    print(a,len);22 }23 for(int i = k; i < len; i++)24 {25   swap(&a[k],&a[i]);26   permutation(a,k+1,len);27   swap(&a[k],&a[i]);28 }29 }30 int main()31 {32 int arr[] = {
1,2,3,4};33 //char arr[] = "123";34 int len = sizeof(arr) / sizeof(arr[0]);35 if(arr[len-1] == '\0')36 len-=1;37 permutation(arr,0,len);38 return 0;39 }

对数组元素的全排列,递归实现。

posted on
2013-05-04 11:03 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/majianbin/archive/2013/05/04/3059043.html

你可能感兴趣的文章
CMake与动态链接库(dll, so, dylib)
查看>>
myeclipse(eclipse)乱码处理
查看>>
SpringBoot 过滤器, 拦截器, 监听器 对比及使用场景
查看>>
数据库索引探索
查看>>
MYSQl left join 联合查询效率分析
查看>>
struts2使用json需要注意的问题
查看>>
客户端的socket是否需要bind?
查看>>
Comparator进行排序
查看>>
IOS自动进行View标记
查看>>
cookie 和session 的区别详解
查看>>
Tomcat访问日志详细配置
查看>>
get请求传递中文参数乱码解决方法
查看>>
苦战 自由软件的今生前世
查看>>
搭建 Discuz 论坛
查看>>
Go语言的国际化支持(资源文件翻译)
查看>>
install oracle 11g on linux (centos6) 遇到的问题
查看>>
PhoneGap插件开发流程
查看>>
iOS设计模式——桥接模式
查看>>
gitlab runner 优化
查看>>
快速添加百度网盘文件到Aria2 猴油脚本
查看>>