不二如是 发表于 2017-9-22 21:59:27

已有 11 人购买  本主题需向作者支付 2 鱼币 才能浏览 购买主题

90逅、亦宅男 发表于 2018-8-12 19:34:53

根据第十四课的初始化函数
   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:36:28

本帖最后由 90逅、亦宅男 于 2018-8-12 19:38 编辑

space[ i ].cur

Connor.S 发表于 2019-5-29 20:58:42

      for( l=1; l <= i-1; l++ )
      {
            // L,l[最后一个元素],游标指向第一个元素,赋值给K

            k = L.cur;
      }
这边为什么需要用for循环?感觉和l也没有关系啊,直接k = L.cur,我理解哪里出了偏差啊?

kyrie_wx 发表于 2020-4-14 11:26:13

nb图的错误都改过来了

asd294835724 发表于 2021-8-6 23:17:56

楼主 看了小甲鱼视频及参考了你的笔记
关于获得空闲分量下标这块
int i = space.cur;//下标位置为0的元素它的游标对应的是备份链表下标
if( space.cur )
space.cur = space.cur;//那这个的意思我就不明白了
页: [1]
查看完整版本: ★ 第十五讲 线性表10 ★