开发者社区> 问答> 正文

1. 输出自然数1到n所有不重复的排列,即n的全排列。(用递归算法编写)

1. 输出自然数1到n所有不重复的排列,即n的全排列。(用递归算法编写)

展开
收起
知与谁同 2018-07-21 14:12:04 4458 0
1 条回答
写回答
取消 提交回答
  • #include <stdio.h>
    #define SWAP(a, b) {\
    int t = a;\
    a = b;\
    b = t;\
    }

    void permutation(int* a, int b, int e) {
    int i;

    if (b == e) {
    for (i = 0; i < e; ++i) {
    printf("%d ", a[i]);
    }

    printf("\n");
    } else {
    for (i = b; i < e; ++i) {
    SWAP(a[b], a[i]);
    permutation(a, b + 1, e);
    SWAP(a[b], a[i]);
    }
    }
    }

    int main(void) {
    int a[4] = {1,2,3,4};
    permutation(a, 0, 4);
    /*system("pause");*/
    return 0;
    }
    2019-07-17 22:55:00
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载