首页 > 编程 > C++ > 正文

C++利用递归求排列的代码

2019-11-06 07:37:38
字体:
来源:转载
供稿:网友

C++利用递归求排列的代码 求出N个不同元素的所有排列方式,代码中设定10个元素分别是0到9,可以求出这十个元素的所有排列

#include <iostream>using namespace std;int arr[10];void perm(int list[], int k, int m);void swap(int &a, int &b);int main(int argc, char* argv[]){ int j; for(j=0; j<10; j++) arr[j] = j; perm(arr, 0, 2); return 0;}void perm(int list[], int k, int m){ int i; if(k == m) { for(i=0; i<=m; i++) cout<<list[i]; cout<<endl; } else { for(i=k; i<=m; i++) { swap(list[k], list[i]); perm(list, k+1, m); swap(list[k], list[i]); } }}void swap(int &a, int &b){ int t = a; a = b; b = t;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选