向建立好的单向链表中的结点pr后插入一个新结点p,且所有结点都已具有如下形式的结构定义:structnode{intdata;structnode*next;}*p,*pr,*head;则操作正确的是A.p->next=pr->next;pr->next=p;B.structnode*pTemp;pTemp=pr->next;pr->next=p;p->next=pTemp;C.pr->next=p;D.p->next=pr->next;pr=p;E.pr->next=p;p->next=pr->next;
举一反三
- 中国大学MOOC: 向建立好的单向链表中的结点pr后插入一个新结点p,且所有结点都已具有如下形式的结构定义:struct node{ int data; struct node *next;}*p, *pr, *head;则操作正确的是
- 在一个单链表中,若删除p所指结点的后续结点,则语句执行顺序为() A: q=p—>next;p—>next= q—>next;free(q) B: p—>next= p—>next;free(p->next) C: p= p—>next; p—>next= p—>next—>next;free(p) D: p= p—>next—>next;free(p->next)
- 在一个单链表中,若删除p所指结点的后续结点,则语句执行顺序为() A: p—>next= p—>next;free(p->next) B: q=p—>next;p—>next= q—>next;free(q) C: p= p—>next; p—>next= p—>next—>next;free(p) D: p= p—>next—>next;free(p->next)
- 若已建立下面的链表结构,指针p,s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾的语句组是()。 A: s->next=NULL; p=p->next; p->next=s; B: p=p->next; s->next=p->next; p->next=s; C: p=p->next; s->next=p; p->next=s; D: p=(*p).next; (*s).next=(*p).next; (*p).next=s;
- 若已建立下面的链表结构,指针p、q分别指向图中所示结点,则不能将q所指结点插入到链表末尾的语句是()。 A: p=p->next;q->next=p->next;p->next=q; B: p=p->next;q->next=p;p->next=q; C: q->next=NULL;p=p->next;p->next=q; D: p=(*p).next;(*q).next=(*p).next;(*p).next=q;