我在嘗試從玩家曲棍球統計數據的二進制文件中排序列表。我的目標是使用選擇排序算法來根據遊戲中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