我想使用 c# 编写一个方法,即计算字符数组的第 n 个排列,并在不使用递归函数的情况下返回第 n 个排列的字符数组。
例如
If the array is ABC the second permutation is ACB
.任何人都可以帮助我
我想使用 c# 编写一个方法,即计算字符数组的第 n 个排列,并在不使用递归函数的情况下返回第 n 个排列的字符数组。
例如
If the array is ABC the second permutation is ACB
.任何人都可以帮助我
词典排列算法通常不是递归的。此页面具有 ac# 变体,可以快速获得第 N 个排列
http://www.mathblog.dk/project-euler-24-millionth-lexicographic-permutation/
codeproject.com 上有一个很好的项目,关于有或没有重复的排列和变化。我猜你需要不重复的排列。
不够清楚你的排列逻辑是什么来为非递归算法提供帮助。
如果你想避免递归函数,我们可以循环运行处理逻辑 N 次。
public string GetPermutation(int n, string source)
{
for (int i = 0; i < n; i++)
{
//modify source
}
return source;
}