(2)intBB(LinkList*L){LinkList*p,*q,*r;p=L->next;if(!p)return0;while(p->next){q=p;while(q->next){if(q->next->data!=p->data)q=q->next;else{r=q->next;q->next=r->next;free(r);}}p=p->next;}}Writethefunctionofthealgorithmabove.(5.0分)
举一反三
- 删除单链表中指针p所指结点的语句序列为( )。 A: q=p->;next; p->;data=q->;data; p->;next=q->;next; free(q); B: q=p->;next; q->;data=p->;data; p->;next=q->;next; free(q); C: q=p->;next; p->;next=q->;next; free(q); D: q=p->;next; p->;data=q->;data; free(q);
- 中国大学MOOC: 4. 在一个双向链表中,在p结点之前插入q结点的操作是________。A.p->prior=q;q->next=p;p->prior->next=q;q->prior=p->prior;B.q->prior=p->prior;p->prior->next=q;q->next=p;p->prior=q->next;C.q->next=p;p->next=q;q->prior->next=q;q->next=p;D.p->prior->next=q;q->next=p;q->prior=p->prior;p->prior=q;
- 设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。 A: q=p->next;p->data=q->data;p->next=q->next;free(q); B: q=p->next;q->data=p->data;p->next=q->next;free(q); C: q=p->next;p->next=q->next;free(q); D: q=p->next;p->data=q->data;free(q);
- 若已建立下面的链表结构,指针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;
- 将一个由指针p所指向的结点插入到单链表L中由指针q所指向的结点后面,则需要执行的语句为() A: p->next = q->next; q->next = p; B: q->next = p; p->next = q->next; C: p->next = q->next; q = p; D: q->next = p->next; p->next = q;