在一个非空的单链表中,指针p指向其中的某个结点,如果p指向的结点的后继不为空。则删除p的后继的操作为( )。
A: p = p->link;
B: p->link = p;
C: p->link = p->link->link;
D: p = p->link->link;
A: p = p->link;
B: p->link = p;
C: p->link = p->link->link;
D: p = p->link->link;
举一反三
- 在单链表中,如果指针p所指结点不是最后一个结点,在p之后插入t所指结点,则执行语句( <br/>) A: t->link = p; p->link = t; B: t->link = p->link; p->link = t; C: t->link = p ->link; p = t; D: p->link = t; t->link = p;
- 在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行( )。 A: q->link=p->link; B: q->link=p->link;p->link=q; C: p->link=q->link;q=p; D: p->link=q->link;q->link=p;
- 在一个单链表中,若p所指节点不是最后节点,在p之后插入s所指节点,则执行( )。 A: s->link=p->link;p->link=s; B: s->link=p;p->link=s; C: s->link=p->link;p=s; D: p->link=s;s->link=p;
- 一个带头结点的循环链表的类中设置了first指针指向头结点的地址,p是该链表中一个结点的指针,判断p是链表末尾结点的条件是( )。 A: p->link == NULL B: p->link == first C: p == first D: p->link->link == first
- 在双向链表存储结构中,删除p所指的结点的前趋结点(若存在)时需修改指针( ) A: ((p->llink) ->llink) ->rlink=p; p->llink=(p->llink) ->llink; B: ((p->rlink) ->rlink) ->llink=p; p->rlink=(p->rlink) ->rlink; C: (p->llink) ->rlink=p->rlink; (p->rlink) ->llink=p->llink; D: p->llink=(p->llink) ->llink; ((p->llink) ->llink) ->rlink=p;