示例#1
0
        /// <summary>
        /// 打印遍历节点名称
        /// </summary>
        /// <param name="travelNodes"></param>
        /// <param name="travelType"></param>
        /// <param name="travelOrder"></param>
        /// <param name="arithmeticType"></param>
        public static void PrintTravelNodeNames(List <MTreeNode> travelNodes,
                                                EnumTravelType travelType, EnumTravelOrder travelOrder, EnumArithmeticType arithmeticType)
        {
            string names              = string.Empty;
            string travelTypeName     = string.Empty;
            string travelOrderName    = string.Empty;
            string arithmeticTypeName = string.Empty;

            for (int i = 0; i < travelNodes.Count; i++)
            {
                if (i == 0)
                {
                    names += string.Format("{0}", travelNodes[i].Name);
                }
                else
                {
                    names += string.Format(",{0}", travelNodes[i].Name);
                }
            }

            LogHelper.GetInstance().WriteLog(string.Format("多叉树{0}优先{1}遍历({2}):{3}",
                                                           EnumParser.ParseEnumTravelType(travelType),
                                                           EnumParser.ParseEnumTravelOrder(travelOrder),
                                                           EnumParser.ParseEnumArithmeticType(arithmeticType),
                                                           names));
        }
示例#2
0
        public static string ParseEnumTravelOrder(EnumTravelOrder travelOrder)
        {
            string name = string.Empty;

            switch (travelOrder)
            {
            case EnumTravelOrder.None:
                name = "";
                break;

            case EnumTravelOrder.PreOrder:
                name = "前序";
                break;

            case EnumTravelOrder.InOrder:
                name = "中序";
                break;

            case EnumTravelOrder.PostOrder:
                name = "后序";
                break;

            default:
                break;
            }
            return(name);
        }
示例#3
0
        private EnumTravelOrder travelType = EnumTravelOrder.PreOrder;//默认前序遍历

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="travelType"></param>
        public BTree(EnumTravelOrder travelType)
        {
            this.travelType = travelType;
        }