当前位置: 首页>>代码示例>>C#>>正文


C# Element.Swap方法代码示例

本文整理汇总了C#中Element.Swap方法的典型用法代码示例。如果您正苦于以下问题:C# Element.Swap方法的具体用法?C# Element.Swap怎么用?C# Element.Swap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Element的用法示例。


在下文中一共展示了Element.Swap方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

        static void Main(string[] args)
        {
            int numOfDigits = int.Parse(Console.ReadLine());
            string[] numbers = Console.ReadLine().Split(' ');
            int sequenceLenght = int.Parse(Console.ReadLine());
            int elementToFind = int.Parse(string.Join("", numbers));
            Array.Sort(numbers);
            Element element = new Element(int.Parse(string.Join("", numbers)),0);

            Queue<Element> q = new Queue<Element>();
            HashSet<int> set = new HashSet<int>();
            q.Enqueue(element);
            bool SolutionFound = false;
            while (q.Count > 0)
            {
                element = q.Dequeue();
                if (element.values == elementToFind) // Equals(elementToFind))
                {
                    SolutionFound = true;
                    break;
                }
                for (int i = 0; i <= numOfDigits - sequenceLenght; i++)
                {
                    Element newElement = new Element(element.values, element.depth + 1);
                    newElement.Swap(i, sequenceLenght);
                    if (!set.Contains(newElement.values))
                    {
                        q.Enqueue(newElement);
                        set.Add(newElement.values);
                    }
                }
            }
            if (!SolutionFound)
            {
                Console.WriteLine(-1);
            }
            else
            {
                Console.WriteLine(element.depth);
            }
        }
开发者ID:TheOldMan66,项目名称:TelerikAcademy,代码行数:41,代码来源:Program.cs


注:本文中的Element.Swap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。