我無法弄清楚如何讓排序選擇工作。我必須按升序從結構中排序分數(雙打)。使用排序選擇與C++中的結構數組
這是我的代碼,我會評論我在哪裏得到的錯誤。
我的結構:
struct diveInfo
{
string diversName;
double totalScore;
double totalScore;
double diff;
double scores[NUM_SCORES];
};
我的函數按升序對分數進行排序:
void selectionSort(diveInfo *ptr, int size)
{
diveInfo temp;
double minValue;
int startScan;
int minIndex;
for (startScan = 0; startScan < (size - 1); startScan++)
{
minIndex = startScan;
minValue = ptr[startScan].scores; //keep getting an error here saying type double cannot be assigned to an entity of type double.
temp = ptr[startScan];
for (int index = startScan + 1; index < size; index++)
{
if (ptr[index].scores < minValue)
{
temp = ptr[index];
minIndex = index;
}
}
ptr[minIndex] = ptr[startScan];
ptr[startScan] = temp;
}
}
分數是一個數組。你可能想對totalScore進行排序嗎?你確實需要考慮你在做什麼。應該很清楚,將雙精度數組分配給double是不可能的。 – john 2013-04-24 14:22:05