本文将编写一个函数实现数学排列的功能,采用的办法是递归。具体功能如图所示:
一、函数的讲解
1.1 函数的原型
函数的原型:int** Permutation(int* iarr,int size);
将数组的首地址和数组的大小传递进去,函数将返回一个二维数组的地址,这个二维数组包含n!个一维数组(n即是size),而每一个一维数组又包含size个元素,二维数组的大小为n! * n
1.2 递归的大概思路(如图所示)
假设要数组的大小(size)为4,则要返回一个4!* 4大小的二维指针。
二-0 伪代码
伪代码#01:全排列,递归法。
输入:A[1...n