Kamis, 23 Mei 2013

Permutation

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


    class Program
    {

        class Permute
        {

            private void swap(ref char a, ref char b)
            {

                if (a == b) return;

                a ^= b;

                b ^= a;

                a ^= b;

            }

            public void setper(char[] list)
            {

                int x = list.Length - 1;

                go(list, 0, x);

            }

            private void go(char[] list, int k, int m)
            {

                int i;

                if (k == m)
                {

                    Console.Write(list);

                    Console.WriteLine(" ");

                }

                else

                    for (i = k; i <= m; i++)
                    {

                        swap(ref list[k], ref list[i]);

                        go(list, k + 1, m);

                        swap(ref list[k], ref list[i]);

                    }
                Console.ReadLine();
            }

        }

        class Class1
        {

            static void Main()
            {

                Permute p = new Permute();

                string c = "123456";

                char[] c2 = c.ToCharArray();

             

                p.setper(c2);

            }

        }
}

Tidak ada komentar:

Posting Komentar