gpt4 book ai didi

c - 对除第一个位置之外的所有位置进行冒泡排序

转载 作者:行者123 更新时间:2023-11-30 20:39:41 24 4
gpt4 key购买 nike

如果我将条件 (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);
}

最佳答案

您在内循环中从 i = 1 开始。因此 sum[0] 被忽略。

更改为

for (i = 0; i < n-1; i++) {    

关于c - 对除第一个位置之外的所有位置进行冒泡排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26321142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com