wangyimeng 发表于 2018-9-5 10:17:11

上次的排序,说明一下原理,好多人问

先说说蓝图的误区,刚刚开始的时候我也没想明白,总以为蓝图排序跟代码的原理是一样的,可是事实很残酷不一样,最主要还是循环上面的问题,下面说说蓝图的实现
1、自定义的需要排序的数组score,里面参数随便设置,在自定义一个新数组NewInt来输出排序完的结果。自定义一个最大值first,自定义两个索引值 I、J 主要来输入自定义循环
2、判断外层索引值I是不是小于或者等于需要排序数组的最大索引,真   继续排序,假   直接循环输出新数组的值
3、接上面的继续排序,接着判断新数组NewInt的length是不是为0,真直接add第一个值Set最大值first为当前值I+1完成当前循环,假    判断当前最大值first是否小于等于当前索引值I对         应需要排序的数组score输出值,真   为新数组NewInt直接add当前索引值I对应需要排序的数组score输出值同时设置最大值first为当前值I+1完成当前循环,假   循环
   (用ForLoopWithBreak,要用这个循环)新数组NewInt,输出循环索引值直接Get新数组对应值与I所以对应的需要排序数组的值进行对比,如果排序数组输出值小于等于新数组输出值
   设置索引J为当前新数组循环索引直接break跳出循环,(Completed完成循环执行)为新数组Instert,索引值为J,对应的值为I对应的排序数组输出值同时I+1完成当前循环



表达不清楚,希望谅解,不懂的发私信,或者直接评论就好了,我看到会回答

UnrealEngineer 发表于 2018-9-5 11:20:00

如果只是单纯的顺序表的话,我记得蓝图的Map容器或Set容器自带排序功能。

剑客 发表于 2018-9-17 10:22:55

放个冒泡BP图更直观

KingKang 发表于 2018-9-19 15:44:13

感谢楼主分享
页: [1]
查看完整版本: 上次的排序,说明一下原理,好多人问