我在尝试从玩家曲棍球统计数据的二进制文件中排序列表。我的目标是使用选择排序算法来根据游戏中points = goals + assists的点数降序对列表进行排序。使用选择排序根据玩家点数对列表进行排序?
我正在使用一个结构数组,其中每个数组都是玩家统计数据的结构。
这是结构。
struct Player
{
char name[20];
int goals;
int assists;
int rating;
};
这是我在我的排序数组函数到目前为止。
void sortArrays(Player players[], int numPlayers)
int top=0;
int ssf;
int last=numPlayers;
int ptr;
int i = 0;
Player temp;
while (top < last)
{
ptr=top;
ssf=top;
pnts = players[i].goals + players[i].assists;
i++;
}
之后,我被卡住了。
下面是该功能假定在广义上执行的步骤。通过使用公式点=播放器[I] .goals +玩家
计算数量的点[I] .assists
排序结构的基于点的数目的降序排列。
交换不同的数组,直到列表根据最大数量的点降序排列到最少。
看看这个网页http://en.wikipedia.org/wiki/Selection_sort。它有一些简单的,很好的评论,用于进行选择排序的C++代码。适应你的问题。 – john 2013-04-10 22:41:12