注册 登录
编程论坛 数据结构与算法

关于严版书中的一个问题

bid2938692 发布于 2010-04-30 16:11, 465 次点击
在严版书的P29的算法2.8
Status GetElem_L(LinkList L,int i,ElemType &e)
{   p=L->next;
    j=1;
    while(p&&j<i)
    {    p=p->next;
        ++j;
    }
    if(!p||j>i)return ERROR;
    e=p->data;
    return OK;
}
如果i=3,最后e取到的是第4个数据元素的值(即第4个的data),而不是第3个数据元素的值。
且第一个元素却一直都取不到??为什么呢??
2 回复
#2
寒风中的细雨2010-04-30 16:43
L 是头指针
 直接看p   初始化 值 是指向(有数据)1没有就是NULL  就可以  i为1  不做 while
 当i=2  就推进1  做一次while  p指向2号位置
i=3 就推进2  做两次while  p指向3号位置
...
#3
2010-04-30 21:05
版主正解。。。没问题啊。。。。。
1