递归实现全排列算法 c++描述
递归实现全排列算法 c++描述
#include<iostream>
using namespace std;
//交换
void exchange(int *a,int i,int j){
if(i==j){
return ;
}else{
*(a+i)=*(a+i)+*(a+j);
*(a+j)=*(a+i)-*(a+j);
*(a+i)=*(a+i)-*(a+j);
}
}
//递归函数
void re(int *a,int k,int m){
if(k==m){
for(int i=0;i<=m;i++){
cout<<*(a+i)<<" ";
}
cout<<endl;
}else{
for(int i=k;i<=m;i++){
exchange(a,k,i);//交换
re(a,k+1,m);//递归
exchange(a,i,k);//交换回来
}
}
}
//主函数
int main(){
int a[]={1,2,3,4};
re(a,0,3);
return 1;
}
评论区
请写下您的评论...
猜你喜欢
数据结构与算法
4600
递归实现合并两递增链表-合并后保持递增序列java描述数据结构:单链表算法:递归链表节点packageclub.test;/****链表节点*@authorjiajia
ofc
全排列
official
906
:[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]解题思路递归,具体算法用语言不好描述,具体请看代码。代码(java)classSo
blog
asm类型描述符和方法描述符
java虚拟机(jvm)
5995
1.内部名在许多情况下,一种类型只能是类或接口类型。例如,一个类的超类、由一个类实现的接口,或者由一个方法抛出的异常就不能是基元类型或数组类型,必须是类或接口类型。这些类型在已编译类中用内部名字表示
blog
简单 单链表的增删改查 c++描述
数据结构与算法
3033
简单单链表的增删改查c++描述classnode{public:intdata;node*next;};#include"node.h"usingnamespacestd;classstack
blog
简单 双向链表得增删改查 c++描述
数据结构与算法
2487
简单双向链表得增删改查c++描述classnode{public:intdata;node*next;node*prev;};#include"node.h"classrelink
blog
链式栈的出栈入栈操作c++描述
数据结构与算法
3190
链式栈的出栈入栈操作c++描述基于双向链表//节点classnode{public:intdata;node*next;node*prev;};//双向链表#include"node.h
blog
归并排序(递归)- 数据结构与算法
数据结构与算法
1513
算法思想该算法使用递归法实现,思路为:每次递归将待排序数组在中间位置分成左右两组,分别对左右两个数组进行归并排序,递归的条件是数组长度必须大于等于3,所以当数组中只有两个数据的时候可以直接进行比较排
blog
快速排序 - 数据结构与算法
数据结构与算法
1716
算法思想将待排序集合以该集合中随机的一个数为分界点分成左右两个集合,一次排序使其右边的集合的数据全部大于左边的集合,然后再分别递归式的对左右两个集合执行上述排序操作,直到递归集合没有数据,递归结束完
最新发表
归档
2018-11
12
2018-12
33
2019-01
28
2019-02
28
2019-03
32
2019-04
27
2019-05
33
2019-06
6
2019-07
12
2019-08
12
2019-09
21
2019-10
8
2019-11
15
2019-12
25
2020-01
9
2020-02
5
2020-03
16
2020-04
4
2020-06
1
2020-07
7
2020-08
13
2020-09
9
2020-10
5
2020-12
3
2021-01
1
2021-02
5
2021-03
7
2021-04
4
2021-05
4
2021-06
1
2021-07
7
2021-08
2
2021-09
8
2021-10
9
2021-11
16
2021-12
14
2022-01
7
2022-05
1
2022-08
3
2022-09
2
2022-10
2
2022-12
5
2023-01
3
2023-02
1
2023-03
4
2023-04
2
2023-06
3
2023-07
4
2023-08
1
2023-10
1
2024-02
1
2024-03
1
2024-04
1
2024-08
1
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
javascript
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。