0
我正在尝试创建一个冒泡功能,将数字排序并不断发生分段错误。任何建议?有关访问sa
,sb
冒泡排序号码
void bubblesort(struct Record *ptr, int records, int (*fcomp)(const void *, const void *))
{
long c, d, i;
struct Record *sa, *sb, sc;
for (c = 0 ; c < (records - 1); c++)
{
for (d = 0 ; d < records - c - 1; d++)
{
for(i = 0; i < records - 1; i++)
{
if (fcomp(ptr+i, ptr+i+1) <= 0)
{
/* Swapping */
sc = sa[d];
sa[d] = sb[d+1];
sb[d+1] = sc;
}
}
}
}
}
“任何建议” - 不要使用bubblesort。 –
您需要在调试器下运行。这会给你更多的信息。 –
@MitchWheat:当处理几乎排序的集合时,bubblesort胜过大多数算法。 – Fred