Status InitList(StaticLinkList space)
{
int i;
for( i=0; i < MAXSIZE-1; i++ )
space.cur = i + 1;
space.cur = 0;
return OK;
}
初始化执行的数组只有最后一项space.cur = 0,其余space.cur(n不为MAXSIZE-1)都不会为0,
所以,以下获得空闲分量的下标函数
// 获得空闲分量的下标:
int Malloc_SLL(StaticLinkList space)
{
int i = space.cur;
if( space.cur )
space.cur = space.cur;
// 把它的下一个分量用来作为备用。
return i;
}
if语句的判断条件式应该改为space.cur 本帖最后由 90逅、亦宅男 于 2018-8-12 19:38 编辑
space[ i ].cur for( l=1; l <= i-1; l++ )
{
// L,l[最后一个元素],游标指向第一个元素,赋值给K
k = L.cur;
}
这边为什么需要用for循环?感觉和l也没有关系啊,直接k = L.cur,我理解哪里出了偏差啊? nb图的错误都改过来了 楼主 看了小甲鱼视频及参考了你的笔记
关于获得空闲分量下标这块
int i = space.cur;//下标位置为0的元素它的游标对应的是备份链表下标
if( space.cur )
space.cur = space.cur;//那这个的意思我就不明白了
页:
[1]