日期:2014-05-17  浏览次数:20864 次

求助大家一个问题,关于排列
如果有、
低 偏低 中 偏高 高
 1   2   3   4   5

如果中间不能断开,不能改变顺序,任意几个都可以排列,用C#怎么搞啊?

12345
1234
123
12
1

2345
234
23
2

345
34
3

45
4

5


------解决方案--------------------
自己研究
http://www.cnblogs.com/rogerwei/archive/2010/11/18/1880336.html
------解决方案--------------------
两个循环即可。
int[] a = { 1, 2, 3, 4, 5 };
for (int i = 0; i < a.Length - 1; i++)
    for (int j = 1; j < a.Length - i; j++)
        Console.WriteLine(string.Join(",", a.Skip(i).Take(j).Select(x => x.ToString()).ToArray()));