首页 > 其他 > 详细

两层遍历的递归写法

时间:2019-02-26 15:15:16      阅读:245      评论:0      收藏:0      [点我收藏+]


            var arr1 = ["one","two","three"];
            var arr2 = ["LD","HTY"];
            
            test(arr1,arr2);

            function test(themeType,oidType){
                 //应用与人员对比的最大次数
                var maxNum = themeType.length * oidType.length;
                //从下标为0的应用开始对比,进行递增
                var themeNum = 0;
                //从下标为0的人员开始递增(如果当前应用与所有人员对比完毕,则与递增后的应用进行对比)
                var oidStart = 0;
                empower(maxNum, themeType[themeNum], oidType[oidStart]);

                function empower(count, theme, oid) {
                    if (count <= 0) {
                        return;
                    } else {
                        console.log(count,theme,oid)
                        //如果本次应用与所需要的人员对比结束,则拿到一个应用进行对比
                        if (oidStart >= oidType.length-1) {
                            themeNum++;
                            oidStart = 0;  //与本次对比应用结束,初始化人员对比
                        //如果未与人员对比完毕,则与下一个人员进行对比
                        }else{
                            oidStart++;   
                        }
                        empower(count - 1, themeType[themeNum], oidType[oidStart]);
                    }

                }
            }

两层遍历的递归写法

原文:https://www.cnblogs.com/liu-di/p/10437373.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!