因此,我有這樣一個結構數組,它在一場競賽中持有有關競爭對手的數據。這是如何建立結構:在函數中對結構數組進行排序
struct competitor {
int compID;
char name[30];
int swimSecs;
int cyclSecs;
int runSecs;
int totalSecs;
};
我使用這個排序陣列從小到大安排競爭對手。 compNum是競爭對手
void sort(struct competitor** a) {
int n = compNum;
struct competitor temp;
int i, j;
for (i = 1; i < n; i++)
for (j = 0; j < n - i; j++) {
if (a[j]->totalSecs > a[j + 1]->totalSecs) {
temp = *a[j];
a[j] = a[j + 1];
*a[j + 1] = temp;
}
}
return;
}
數量但似乎使用溫度和周圍交換結構時,它似乎複製一些已經由用戶輸入的結構,並覆蓋現有的結構數據。任何人都可以看到爲什麼這可能會發生,你將如何解決它?謝謝你在前進
爲什麼不使用編譯器附帶的'qsort'實現? – owacoder
@owacoder我必須自己實現一個排序算法。 – Unfitacorn
@lurker我必須自己實現排序算法。 – Unfitacorn