コード例 #1
0
 private void CreateColumnHeaders(uint column)
 {
     _columnHeaders[column] = new ColumnObject(column)
     {
         Column = column
     };
     _columnHeaders[column].InsertHorizontalNode(Root.Left, Root);
 }
コード例 #2
0
        private void InsertDoublyLinkedNode(DataObject left, ColumnObject up, DataObject node)
        {
            node.InsertHorizontalNode(left.Left, left);
            node.InsertVerticalNode(up.Up, up);

            node.Header = up;
            node.Header.Size++;
        }
コード例 #3
0
        private ColumnObject GetHeuristicColumn()
        {
            var          maxSize = uint.MaxValue;
            ColumnObject Object  = null;

            foreach (ColumnObject column in EnumerateNodes(Root, o => o.Right))
            {
                if (column.Size < maxSize)
                {
                    maxSize = column.Size;
                    Object  = column;
                }
            }

            return(Object);
        }
コード例 #4
0
ファイル: DLXMatrix.cs プロジェクト: TheMunro/sudoku
        private void InsertDoublyLinkedNode(DataObject left, ColumnObject up, DataObject node)
        {
            node.InsertHorizontalNode(left.Left, left);
            node.InsertVerticalNode(up.Up, up);

            node.Header = up;
            node.Header.Size++;
        }
コード例 #5
0
ファイル: DLXMatrix.cs プロジェクト: TheMunro/sudoku
 private void CreateColumnHeaders(uint column)
 {
     _columnHeaders[column] = new ColumnObject(column) { Column = column };
     _columnHeaders[column].InsertHorizontalNode(Root.Left, Root);
 }