using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using System.Data; using System.Text.RegularExpressions; using System.Collections;namespace ConsoleApplication8 { class Program { public static void Main() { char[] number = new char[] { 'A', 'B', 'C' }; Func(number, 0, number.Length - 1); Console.WriteLine(list.Count); foreach (String s in list) { Console.Write(s + " "); } } public static List<string> list = new List<string>(); public static void Func(char[] n, int beg, int end) { if (beg == end) { string result = new string(n); list.Add(result); return; } for (int i = beg; i <= end; i++) { Swap(n, beg, i); Func(n, beg + 1, end); Swap(n, beg, i); } } public static void Swap(char[] n, int a, int b) { char temp = n[a]; n[a] = n[b]; n[b] = temp; } }}http://topic.csdn.net/u/20091223/09/b841653f-5955-4708-b6a7-9b3b1f8c9f88.html
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.Text.RegularExpressions;
using System.Collections;namespace ConsoleApplication8
{
class Program
{ public static void Main()
{
char[] number = new char[] { 'A', 'B', 'C' };
Func(number, 0, number.Length - 1);
Console.WriteLine(list.Count); foreach (String s in list)
{
Console.Write(s + " ");
}
} public static List<string> list = new List<string>();
public static void Func(char[] n, int beg, int end)
{
if (beg == end)
{
string result = new string(n);
list.Add(result);
return;
}
for (int i = beg; i <= end; i++)
{
Swap(n, beg, i);
Func(n, beg + 1, end);
Swap(n, beg, i);
}
} public static void Swap(char[] n, int a, int b)
{
char temp = n[a];
n[a] = n[b];
n[b] = temp;
}
}}http://topic.csdn.net/u/20091223/09/b841653f-5955-4708-b6a7-9b3b1f8c9f88.html