如果我將條件(i < n -1)更改爲(i < n),它會發生故障,並且就像現在一樣,除第一個位置[0]以外的所有位置都被排序。泡沫排序除了第一個點
int sortIndexByDate(Match match[], int n)
{
int i, j, sum[n], swapped;
for (i = 0; i < n; i++)
sum[i] = match[i].d.year*10000 + match[i].d.month*100 + match[i].d.day;
do {
swapped = false;
for (i = 1; i < n - 1; i++) {
if (sum[i] < sum[i + 1]) {
swapInt(&sum[i], &sum[i+1]);
swapMatch(&match[i], &match[i+1]);
swapped = true;
}
}
n--;
} while (swapped);
}
你有問題嗎? – 2014-10-12 02:13:56
嗯......'我
beaker
2014-10-12 02:18:46