- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从球员曲棍球统计数据的二进制文件中对列表进行排序。我的目标是使用选择排序算法根据比赛中的得分按降序对列表进行排序,其中得分 = 进球 + 助攻。
我正在使用一个结构数组,其中每个数组都是玩家统计数据的结构。
这是结构。
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++;
}
此后我陷入困境。
以下是该函数广义上应该执行的步骤。
使用公式points =player[i].goals +player[i].assists计算得分
根据点数对结构体数组进行降序排序。
交换不同的数组,直到列表根据点数从多到少按降序排序。
最佳答案
必须使用选择排序吗?如果您定义自定义比较函数,则可以使用 std::sort
来代替:
bool compare_players(Player const& a, Player const& b) {
return (b.goals + b.assists) < (a.goals + a.assists);
}
然后将你的玩家扔进一个名为players
的 vector
中,然后
std::sort(players.begin(), players.end(), &compare_players);
与实现选择排序 (O(n^2)) 相比,此代码更少,而且效率更高 (O(n log n))。 p>
关于c++ - 使用选择排序根据玩家点数对列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15937735/
我有一个问题需要分而治之解决。有一个包含 N 个点的集合 S。如果有一个平行于轴的正方形,只包含S中的两个点p1和p2,则我们称p1和p2为 friend 点。 现在,我需要使用分而治之算法来计算 S
为 iPad 编程时,字体(和其他)大小以“磅”为单位指定。我已经看到将点作为独立于屏幕分辨率的像素的引用。但是我无法确定一个点的实际大小(即以英寸为单位)。一个点是否等于标准 iPad 屏幕上的一个
我有一个来自 Hadley Wickham 的 ggplot2 书中的问题。 我在这里有这个数据框: class % group_by(class) %>% summarise(n = n
好的,这是一些代码( pdfDocument 是 com.itextpdf.text.Document ): PdfPTable table = new PdfPTable(1); PdfPCell
我正在尝试添加一个 if 语句,如果小于 17,则将另一张牌添加到 DealerHand 中。 目前,它只是记录: 7 19 [ { suit: '♦', value: 9, points: 9 },
我正在编写一个程序,我需要: 对图像的每个像素进行测试 如果测试结果为真,我必须向点云中添加一个点 如果测试结果为假,什么都不做 我已经在 CPU 端 C++ 上编写了一个工作代码。现在我需要使用 C
我是一名优秀的程序员,十分优秀!