写最小生成树的克鲁斯算法时出现的,存放已经升序排列好的的边的数组E老是出现Stack corrupted
void MinSpantree(Edge E[], int n)
{
int i, j, k, a, b;
int vest[maxsize + 1];
for (i = 0; i<n; i++)
vest[i] = i;
k = 0; j = 0;
while (k<n)
{
a = E[j].u; b = E[j].v;
if (vest[a] != vest[b])
{
printf("(%d,%d):%d\n", E[j].u, E[j].v, E[j].w);
k++;
for (i = 0; i<n; i++)
if (vest[i] == vest[E[j].v])
vest[i] = vest[E[j].u];
}
j++;
}
}
关于Stack corrupt的问题!实在想不出来怎么改
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 小灸舞 2016-06-11 09:24关注
越界造成的。
自己单步调试看看下标有没有问题,越界访问或者越界写入导致的问题。
或者用printf打印一下所有的下标,看看哪个地方有异常。
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报