Java 循环播种排序算法
我想创建一个程序,在其中输入一个玩家列表,其中第一行是最好的玩家,最后一行是最差的玩家。然后它会做一个算法,把这些玩家分成技能相同的种子组 我希望这样做:Java 循环播种排序算法,java,algorithm,sorting,Java,Algorithm,Sorting,我想创建一个程序,在其中输入一个玩家列表,其中第一行是最好的玩家,最后一行是最差的玩家。然后它会做一个算法,把这些玩家分成技能相同的种子组 我希望这样做: 假设你有16名球员,你想要4组球员 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 现在,您要将它们分成四个相等的组: 1 8 9 16 2 7 10 15 3 6 11 14 4 5 12 13 因此,这份清单的最终结果将是: 1 8 9 16 2 7 10 15 3 6 11 14 4 5 12 13
假设你有16名球员,你想要4组球员
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
现在,您要将它们分成四个相等的组:
1 8 9 16
2 7 10 15
3 6 11 14
4 5 12 13
因此,这份清单的最终结果将是:
1 8 9 16 2 7 10 15 3 6 11 14 4 5 12 13
1 4 5 8 9 12 13 16
2 3 6 7 10 11 14 15
1 4 5 8 9 12 13 16 2 3 6 7 10 11 14 15
但如果你有同样的16名球员,但你只想要2组,那么它将是:
1 8 9 16 2 7 10 15 3 6 11 14 4 5 12 13
1 4 5 8 9 12 13 16
2 3 6 7 10 11 14 15
1 4 5 8 9 12 13 16 2 3 6 7 10 11 14 15
这将是:
1 8 9 16 2 7 10 15 3 6 11 14 4 5 12 13
1 4 5 8 9 12 13 16
2 3 6 7 10 11 14 15
1 4 5 8 9 12 13 16 2 3 6 7 10 11 14 15
有人能帮我找到一种算法吗?听起来你想打印数字: 当使用num=2运行时,它会打印:
[1, 8, 9, 16, 2, 7, 10, 15, 3, 6, 11, 14, 4, 5, 12, 13]
[1, 4, 5, 8, 9, 12, 13, 16, 2, 3, 6, 7, 10, 11, 14, 15]
它在O(n)中运行,这是解决此问题所能得到的最佳结果。否,他想对列表进行排序。当我尝试此解决方案时,输出为:[1, 8, 9, 16, 9, 16, 9, 16, 2, 9, 9, 16, 9, 16, 9, 16, 3, 10, 9, 16, 9, 16, 9, 16, 4, 11, 9, 16, 9, 16, 9, 16, 5, 12, 9, 16, 9, 16, 9, 16, 6, 13, 9, 16, 9, 16, 9, 16, 7, 14, 9, 16, 9, 16, 9, 16, 8, 15, 9, 16, 9, 16, 9, 16, 9, 16, 9, 16, 9, 16, 9, 16, 10, 17, 9, 16, 9, 16, 9, 16, 11, 18, 9, 16, 9, 16, 9, 16, 12, 19, 9, 16, 9, 16, 9, 16, 13, 20, 9, 16、9、16、9、16、14、21、9、16、9、9、16、15、22、9、16、9、16、23、9、16、9、16、16、16、16、14、21、9、16、9、16、9、16、9、16]噢,我的意思是按顺序遍历索引:diff=rowLength;I=0;如果I+rowLength ok,那么I=I+rowLength;如果I+1 ok,那么{I=I+1;diff=-diff};否则完成