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

来源:互联网 发布:淘宝图片轮播代码 编辑:程序博客网 时间:2024/05/19 17:03

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;}
0 0
原创粉丝点击