breadthfirstsolver.cs

来自「Data Structures and Algorithms with Obj」· CS 代码 · 共 33 行

CS
33
字号
namespace Opus6
{
    using System;

    [Copyright("Copyright (c) 2001 by Bruno R. Preiss, P.Eng."), Version("$Id: BreadthFirstSolver.cs,v 1.3 2001/09/11 12:04:04 brpreiss Exp $")]
    public class BreadthFirstSolver : AbstractSolver
    {
        protected override void Search(Solution initial)
        {
            Queue queue1 = new QueueAsLinkedList();
            queue1.Enqueue(initial);
            while (!queue1.IsEmpty)
            {
                Solution solution1 = (Solution) queue1.Dequeue();
                if (solution1.IsComplete)
                {
                    this.UpdateBest(solution1);
                }
                else
                {
                    foreach (Solution solution2 in solution1.Successors)
                    {
                        queue1.Enqueue(solution2);
                    }
                    continue;
                }
            }
        }

    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?