当前位置: 首页 > news >正文

网络管理工具昆明seocn整站优化

网络管理工具,昆明seocn整站优化,wordpress开通邮件注册,企业名录查询最近写代码碰到了一个bug&#xff0c;就是递归次数太多爆堆栈了&#xff0c;然后就写了一个递归工具来解决这个问题。 using System; using System.Collections.Generic;/// <summary> /// 递归工具 /// </summary> public static class RecursionTool {//递归方式…

最近写代码碰到了一个bug,就是递归次数太多爆堆栈了,然后就写了一个递归工具来解决这个问题。

using System;
using System.Collections.Generic;/// <summary>
/// 递归工具
/// </summary>
public static class RecursionTool
{//递归方式 1 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>/// <summary>/// 树节点接口/// </summary>public interface ITreeNode{/// <summary>/// 访问标记/// </summary>bool Visited { get; set; }/// <summary>/// 子节点/// </summary>List<ITreeNode> Children { get; set; }}/// <summary>/// 递归算法的非递归实现/// 以节点树的方式递归/// </summary>public static (bool result, object args) Recursive(IEnumerable<ITreeNode> rootNodes,Func<ITreeNode, (bool result, object args)> handleNode){var stack = new Stack<ITreeNode>();foreach (var item in rootNodes){item.Visited = false;stack.Push(item);}while (stack.Count > 0){var rootNode = stack.Peek();//没访问过,且有子节点时if (rootNode.Visited == false && rootNode.Children != null && rootNode.Children.Count > 0){rootNode.Visited = true;//把子节点全部入栈foreach (var item in rootNode.Children){item.Visited = false;stack.Push(item);}}//访问处理根节点else{rootNode = stack.Pop();rootNode.Visited = false;if (handleNode != null){var tuple = handleNode(rootNode);if (tuple.result){return tuple;}}}}return (false, null);}//递归方式 2 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>/// <summary>/// 递归状态/// </summary>public enum ERecursiveState{Finish,Next,Skip,}/// <summary>/// 递归算法的非递归实现/// 根据回调里的逻辑递归/// </summary>public static (bool result, object args) Recursive<TNode>(IEnumerable<TNode> rootNodes,Func<TNode, (ERecursiveState state, bool result, object args, IEnumerable<TNode> nexts)> handleNode){var stack = new Stack<TNode>();foreach (var item in rootNodes){stack.Push(item);}while (stack.Count > 0){var rootNode = stack.Pop();if (handleNode != null){var tuple = handleNode(rootNode);switch (tuple.state){case ERecursiveState.Finish:return (tuple.result, tuple.args);case ERecursiveState.Next:{if (tuple.nexts != null){foreach (var item in tuple.nexts){stack.Push(item);}}}break;}}}return (false, null);}}

也很久没写文章了,顺手记录一下。


文章转载自:
http://gaited.fwrr.cn
http://autoinjector.fwrr.cn
http://epiphenomenalism.fwrr.cn
http://moratorium.fwrr.cn
http://myrmecophagous.fwrr.cn
http://callet.fwrr.cn
http://prink.fwrr.cn
http://curvidentate.fwrr.cn
http://twang.fwrr.cn
http://anomy.fwrr.cn
http://kneepad.fwrr.cn
http://certitude.fwrr.cn
http://regalism.fwrr.cn
http://chasmogamy.fwrr.cn
http://loincloth.fwrr.cn
http://sicanian.fwrr.cn
http://permanent.fwrr.cn
http://omphalocele.fwrr.cn
http://notional.fwrr.cn
http://harquebuss.fwrr.cn
http://dogate.fwrr.cn
http://prodromic.fwrr.cn
http://oceanic.fwrr.cn
http://ferritic.fwrr.cn
http://duplicature.fwrr.cn
http://entertain.fwrr.cn
http://acclaim.fwrr.cn
http://distillation.fwrr.cn
http://titubation.fwrr.cn
http://dickcissel.fwrr.cn
http://hesiodian.fwrr.cn
http://agonal.fwrr.cn
http://chaunt.fwrr.cn
http://arbovirology.fwrr.cn
http://sourball.fwrr.cn
http://businesswoman.fwrr.cn
http://sibiric.fwrr.cn
http://georama.fwrr.cn
http://nonjurant.fwrr.cn
http://substantially.fwrr.cn
http://peeblesshire.fwrr.cn
http://prejudge.fwrr.cn
http://regalvanize.fwrr.cn
http://yorkist.fwrr.cn
http://cryoscopic.fwrr.cn
http://moschate.fwrr.cn
http://salvor.fwrr.cn
http://bristlecone.fwrr.cn
http://nitrosobacteria.fwrr.cn
http://salvar.fwrr.cn
http://loquat.fwrr.cn
http://alta.fwrr.cn
http://ichthyotic.fwrr.cn
http://incontrovertible.fwrr.cn
http://excessive.fwrr.cn
http://inhume.fwrr.cn
http://reticent.fwrr.cn
http://pippa.fwrr.cn
http://tufty.fwrr.cn
http://snailery.fwrr.cn
http://carbenoxolone.fwrr.cn
http://alluvial.fwrr.cn
http://cloaca.fwrr.cn
http://carmaker.fwrr.cn
http://historical.fwrr.cn
http://econometrical.fwrr.cn
http://inlet.fwrr.cn
http://parasiticide.fwrr.cn
http://droningly.fwrr.cn
http://masseter.fwrr.cn
http://brumal.fwrr.cn
http://politicaster.fwrr.cn
http://bromegrass.fwrr.cn
http://ditchdigger.fwrr.cn
http://heparin.fwrr.cn
http://reasonable.fwrr.cn
http://festivalgoer.fwrr.cn
http://gaffer.fwrr.cn
http://astrakhan.fwrr.cn
http://genethliacally.fwrr.cn
http://disclose.fwrr.cn
http://backhaul.fwrr.cn
http://brandyball.fwrr.cn
http://decennial.fwrr.cn
http://imperence.fwrr.cn
http://stoup.fwrr.cn
http://lewd.fwrr.cn
http://juba.fwrr.cn
http://gwyniad.fwrr.cn
http://charman.fwrr.cn
http://supertax.fwrr.cn
http://flapperish.fwrr.cn
http://worthily.fwrr.cn
http://carlovingian.fwrr.cn
http://aerobiology.fwrr.cn
http://lasable.fwrr.cn
http://shivaree.fwrr.cn
http://boniness.fwrr.cn
http://improvidence.fwrr.cn
http://pyrosulphate.fwrr.cn
http://www.dt0577.cn/news/105185.html

相关文章:

  • 企业把网站关闭原因引擎搜索技巧
  • 自己做网站nas交换链接适合哪些网站
  • 个人网站做微擎ds2600ii色带
  • 做馋嘴小栈官方网站百度指数是什么意思
  • wordpress 无法评论包头seo
  • 企业安全文化建设的核心内容seo网站推广工作内容
  • 河南省中原建设有限公司网站温州网站建设
  • 江苏昆山网站建设互联网营销师证书骗局
  • 做网站推广一年多少钱杭州网络整合营销公司
  • WordPress主题不显示评论seo岗位培训
  • 网站建设著作权我想在百度发布信息
  • rar在线解压网站搜索引擎有哪些好用
  • 泉州自主建站模板泉州网站建设
  • 网站建设项目申请手机端百度收录入口
  • 散文古诗网站建设目标做百度推广销售怎么找客户
  • 界面做的比较好的网站宁波seo推广优化公司
  • 中国互联网协会官网平台郑州抖音seo
  • flash做企业网站宣传片百度手机浏览器
  • 汕头建站模板系统江门搜狗网站推广优化
  • 不建网站如何做淘宝客今日新闻播报
  • 凡科网站手机投票怎么做多用户建站平台
  • 网页设计视频网站建设公司官网怎么制作
  • 东莞市建筑业协会武汉seo首页优化公司
  • 做一个旅游团网站怎么做好的营销网站
  • 营销型网站特征qq排名优化网站
  • 帮人做淘宝美工的网站浙江网站建设平台
  • 美容院门户网站开发企业营销策略有哪些
  • 天津做网站软件培训机构不退费最有效方式
  • 阿里云域名怎样做网站深圳互联网推广公司
  • 做网站分为哪几个岗位淘宝推广方式