本文实例讲述了C#求数组中元素全排列的方法。分享给大家供大家参考。具体如下:
1.算法描述
全排列的第一项是该数组的升序排列,最后一项是该数组的降序排列。本文中用到的了一个函数FindNextArray:从升序排列开始,不断使用函数FindNextArray,可以遍历全部排列,最终到达数组中元素的降序排列。
FindNextArray函数的实现思路:
设有数组array为原数组的一个排列
1)找出数组的最大值
2)从后向前找:找到第一组array[i]>array[i-1]的数,以i位置为signer
3)从signer向后找:找到大于且最接近于array[signer-1]的数array[t