p=L->next; q=p->next; r=q->next;
时间: 2023-12-19 19:06:47 浏览: 146
根据提供的引用内容,执行p->next=q->next之后,p->next和q->next指向同一个b,a->next是p,p->next是b,q->next是b。而执行p=L->next; q=p->next; r=q->next;则是将链表L中的前三个节点分别赋值给p、q、r。其中p指向L的第一个节点,q指向L的第二个节点,r指向L的第三个节点。这个操作可以用于链表的遍历和查找等操作。
相关问题
在单结点链表的Get操作中p=p->next;起什么作用
在单结点链表的Get操作中,p=p->next;的作用是使指针p指向下一个节点,以便获取链表中下一个节点的值或者执行其他操作。具体而言,p表示当前节点的指针,p->next表示当前节点的后继节点的指针,访问p->next可以获取该节点的后继节点,而将p赋值为p->next就可以将指针p指向后继节点。这样循环执行p=p->next;直到找到目标节点或者遍历到链表末尾。
20. 填空题 下面的算法是通过一趟遍历在单链表中确定值最大的结点。 请在空格处填上对应的代码。 ElemType Max (LinkList L ){ if(L->next==NULL) return NULL; pmax=L->next; //假定第一个结点中数据具有最大值 p=L->next->next; while(p !=第1个空格 ){//如果下一个结点存在 if(p->data第2个空格 > pmax->data) pmax=第3个空格 ;//如果p的值大于pmax的值,则重新赋值 p=第4个空格;//遍历链表 } return 第5个空格 ->data; }
ElemType Max (LinkList L ){
if(L->next==NULL) return NULL;
pmax=L->next; //假定第一个结点中数据具有最大值
p=L->next->next;
while(p !=NULL){//如果下一个结点存在
if(p->data > pmax->data)
pmax=p;//如果p的值大于pmax的值,则重新赋值
p=p->next;//遍历链表
}
return pmax->data;
}
阅读全文