也是面试题,如何生成从1~n这n个数的所有的排列。。。我没想明白,有谁能指点一下?
2 回答
潇潇雨雨
TA贡献1833条经验 获得超4个赞
private static void Permutation(List<int> v, int m, int n) { int i; if (m < n - 1) { Permutation(v, m + 1, n); for (i = m + 1; i < n; i++) { Swap(v, m, i); Permutation(v, m + 1, n); Swap(v, m, i); } } else { foreach (int vs in v) { Console.Write(vs); } Console.Write("\r\n"); } } private static void Swap(List<int> v, int m, int i) { int t; t = v[m]; v[m] = v[i]; v[i] = t; } 调用方法: List<int> v = new List<int> { 1, 2, 3}; Permutation(v, 0, 3);
- 2 回答
- 0 关注
- 456 浏览
添加回答
举报
0/150
提交
取消