Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于玩家位置的排序数组_Php_Sorting - Fatal编程技术网

Php 基于玩家位置的排序数组

Php 基于玩家位置的排序数组,php,sorting,Php,Sorting,我有一个奇怪的情况,我试图根据球员的位置对他们进行分类 假设我有10名球员,我需要根据他们的位置对他们进行排序: John | Position 1 Bill | Position 1 Gael | Position 2 Phil | Position 2 Joao | Position 2 Cale | Position 3 Bruu | Position 4 Aron | Position 5 Jimm | Position 5 Carl | Position 5 在这种情况下,我需要尝试

我有一个奇怪的情况,我试图根据球员的位置对他们进行分类

假设我有10名球员,我需要根据他们的位置对他们进行排序:

John | Position 1
Bill | Position 1
Gael | Position 2
Phil | Position 2
Joao | Position 2
Cale | Position 3
Bruu | Position 4
Aron | Position 5
Jimm | Position 5
Carl | Position 5
在这种情况下,我需要尝试将它们尽可能等分:

第一队-约翰、盖尔、卡尔、吉姆、卡尔

第二队-比尔、菲尔、乔奥、布鲁、阿隆


我开始尝试划分位置,然后在一个或另一个团队中对其进行排序,但没有达到预期效果,因为有时我在一个位置上只有一名球员,而在另一个位置上只有3名球员。

如果每个位置上没有足够的球员,似乎唯一合理的方法是按位置对球员进行排序,然后浏览列表,将下一名球员分配给下一队。也就是说,给定您的列表和两个团队,您需要编写代码来实现这一点:

John | Position 1 | Team 1
Bill | Position 1 | Team 2
Gael | Position 2 | Team 1
Phil | Position 2 | Team 2
Joao | Position 2 | Team 1
Cale | Position 3 | Team 2
Bruu | Position 4 | Team 1
Aron | Position 5 | Team 2
Jimm | Position 5 | Team 1
Carl | Position 5 | Team 2
代码非常简单:

int numTeams = 2
int team = 0
for each player
{
    Assign player to teams[team]
    team = team + 1
    if (team == numTeams) then
    {
        team = 0
    }
}

如果您有其他限制,比如一个团队理想情况下有x个位置y,那么算法会有所改变以适应这些限制。但是在我提供建议之前,你必须给我更多的信息。

简单地让团队基于该列表的交替奇偶元素忽略位置,这难道不是可以接受的吗?我会称之为分组问题,而不是排序问题,但我想这可能只是区域语义差异。另外,我不知道这个问题是否有足够好的定义来给出一个好的答案。如果你需要将球员分成团队,那么一个完整团队的标准是什么,是什么决定了团队的平等程度?你是在尝试按位置排序,还是在尝试建立每个位置的球员数量尽可能相同的团队?@JimMischel,就是这样。我正在努力建立一支在每个位置上拥有尽可能多的球员的球队。@Don’对不起,我搞混了。。。但正如我所说。。我正试图建立一支球队,在每个位置上拥有尽可能多的相同数量的球员,理想情况下我会有这样的限制。。但即使我说,理想情况下,我应该在每支球队中有2名位置2的球员,我也没有4名球员。。我想那就行了。。我没想到会这么简单。。无论如何,非常感谢