我遇到了一個問題,圍繞使用結構數組選擇排序的邏輯。例如說這是我的結構:結構的選擇排序
struct data {
int month
int day
..
.. }
現在我想要做的是排序的月份和日期。我相信我知道如何在幾個月內做到這一點,但我很難理解如何實施這些好幾天。這裏是我換了個這麼遠代碼:
void sortData(struct Data yearData[], int sz)
int i, j, m;
int temp;
for (i = 0; i < sz; i++) {
m = i;
for (j = i + 1; j < sz; j++)
if(yearData[j].month < yearData[m].month) {
m = j;
}
if (m != i) {
temp = yearData[i].month;
yearData[i].month = yearData[m].month;
yearData[m].month = temp;
}
}
}
我覺得我要檢查,看看是否月份相同,則看天,他們排序爲好。我只是不知道在這種情況下再添加一個迭代是否正確。謝謝!
作爲一個供參考:C!= C++,你通常應該只標記你正在編寫/編譯的語言(答案可能差別很大)。 – crashmstr
爲什麼你不使用std :: sort的任何特定原因? – StahlRat