首页 新闻 赞助 找找看

关于链表的两个简单的小问题,谢谢

0
悬赏园豆:5 [已关闭问题] 关闭于 2012-07-13 09:29

1. 定义了单链表LinkList L*; 然后定义一个节点p指向单链表的第一个节点:

(1)p=*L;

(2)p=(*L)-->next;

这两者定义有何区别?是一个有头结点,一个没有吗?

 

2.

/*  在L中第i个元素之前插入新的数据元素e   */
Status ListInsert(StaticLinkList L, int i, ElemType e)   
{  
    int j, k, l;   
    k = MAXSIZE - 1;   /* 注意k首先是最后一个元素的下标 */
    if (i < 1 || i > ListLength(L) + 1)   
        return ERROR;   
    j = Malloc_SSL(L);   /* 获得空闲分量的下标 */
    if (j)   
    {   
        L[j].data = e;   /* 将数据赋值给此分量的data */
        for(l = 1; l <= i - 1; l++)   /* 找到第i个元素之前的位置 */
           k = L[k].cur;           
        L[j].cur = L[k].cur;    /* 把第i个元素之前的cur赋值给新元素的cur */
        L[k].cur = j;           /* 把新元素的下标赋值给第i个元素之前元素的ur */
        return OK;   
    }   
    return ERROR;   
}

这个是静态链表的插入过程,标红且划线那里不明白,为什么边界值是Length+1?当它等于ListLength的时候可以吗???

响^_^的主页 响^_^ | 初学一级 | 园豆:110
提问于:2012-07-04 23:21
< >
分享
所有回答(1)
0

这题,我也想知道答案。

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-07-05 10:02

木有别人回答……

支持(0) 反对(0) 响^_^ | 园豆:110 (初学一级) | 2012-07-05 10:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册