Exemple #1
0
        public bool Enqueue(BinOpNodePair nodePair)
        {
            if (!nodePair.IsValid())
            {
                return(false);
            }

            for (var currentNode = _oplist.First; currentNode != null; currentNode = currentNode.Next)
            {
                if (currentNode.Value.Operator.Precedence > nodePair.Operator.Precedence)
                {
                    _oplist.AddBefore(currentNode, nodePair);
                    return(true);
                }
            }
            _oplist.AddLast(nodePair);
            return(true);
        }