您的位置:首页 > 其它

使用递归实现全排列输出

2016-03-17 21:49 477 查看
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication2

{

class Program

{

static int iCount = 0;

static void Main(string[] args)

{

Console.WriteLine("hello world! ");

List<int> lsi = new List<int>();

Console.WriteLine(lsi.Count.ToString());

for (int i = 1; i <= 6; i++)

lsi.Add(i);

FullSequence(0, 6, lsi);

Console.WriteLine(iCount.ToString());

}

static void FullSequence(int i_start, int i_count, List<int> ls)

{

if (i_start == i_count - 1)

{

for (int i = 0; i < i_count; i++)

Console.Write(ls[i].ToString());

Console.WriteLine();

iCount++;

}

else

{

FullSequence(i_start + 1, i_count, ls);

for (int i = i_start+1 ; i < i_count; i++)

{

int temp = ls[i];

ls[i] = ls[i_start];

ls[i_start] = temp;

FullSequence(i_start+1, i_count, ls);

temp = ls[i];

ls[i] = ls[i_start];

ls[i_start] = temp;

}

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: