2 xinye1230 xinye1230 于 2016.09.14 16:22 提问

(c)数据结构基础问题!!!!
 status GetElem_L(LinkList L,int i,ElemType &e)
{
    p=L->next;      /*第一个*/
    j=i;
    while(p&&j<i)
    {
        p=p->next;
        ++j;
    }
    if(!p||j>i)
        return ERROR;
}//GetElem_L






Status ListInsert_L(LinkList &L,int i,ElemType e)
{
    p=L;    /*第二个*/
    j=0;
    while(p&&j<i-1)
    {
        p=p->next;
        ++j;
    }
    if(!p||j>i-1)
        return ERROR;
    s=(LinkList)malloc(sizeof(LNode));
    s->data=e;
    s->next=p->next;
    p->next=s;
    return OK;
}//ListInsert_L

第一个 p=L->next;与第二个p=L;有什么区别呢??

2个回答

u011514451
u011514451   2016.09.14 16:53

p=L->next将L的下一个元素的地址赋值给p,即p指向L的第二个元素的地址;p=L将LinkList的首地址赋值给p,即p指向L的第一个元素的地址。

shihengzhen101
shihengzhen101   Rxr 2016.09.14 17:52

你这代码还想问题不小啊,指针、引用都混了,变量p也未声明,怎么能通过编译呢,连类型都不能确定,怎么去说它的区别呢?

xinye1230
xinye1230 我这是书上的伪代码!
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片