for(i=0;i<n;i++){
scanf("%d",&e);
p=(LinkList)malloc(sizeof(LNode));//生成新结点
//请补全代码
p->data=e;
p->next=q->next;
q->next=p;
q=q->next;
}
链表这里的:
p->data=e;
p->next=q->next;
q->next=p;
q=q->next;
不知道在next来next去到底是谁是谁,什么意思。。
谁能给我分析下这个过程?
结构体是这样的
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
q=q->next; //p成为新尾结点
这一句不理解T T
q->next=p; //q->next的值是p
q=q->next; //此句,可换成q=p ; //p是新结点,q=p不是将新结点p给了q吗,不就是将p变成了q成了新的尾结点了吗? 你看我新写的那三句,不就清楚了? 不知道谁给你写的这么复杂的语句!故意迷惑人!