A: p↑.next:=p↑.pre;p↑.pre:=p;
B: p↑.next↑.pre:=p↑.pre;p↑.pre↑.next:=p;
C: p↑.pre:=p↑.next;p↑.next=p↑.pre;
D: p↑.pre↑.next:=p↑.next;p↑.next↑.pre:=p↑.pre;
举一反三
- 在循环双链表的p所指结点之后插入s结点的操作是( ) A: p->next=s; s->pre=p; p->next->pre=s; s->next=p->next; B: p->next=s; p->next->pre=s; s->pre=p; s->next=p->next; C: s->pre=p; s->next=p->next; p->next->pre=s; p->next=s; D: s->pre=p; s->next=p->next; p->next=s; p->next->pre=s;
- 在循环双链表的p所指结点之后插入s结点的操作是( ) A: p->next=s; s->pre=p; p->next->pre=s; s->next=p->next; B: p->next=s; p->next->pre=s; s->pre=p; s->next=p->next; C: s->pre=p; s->next=p->next; p->next->pre=s; p->next=s; D: s->pre=p; s->next=p->next; p->next=s; p->next->pre=s;
- 以下算法是删除带头结点单链表L中的最小的元素,横线处应填入的语句是( )。void DelMinNode(LinkList L){ p=L->next; pre=L; if(L==NULL) return; while(p->next!=NULL) //pre指向最小元素的前驱元素,开始默认第一个结点最小,pre指向头结点 { if(p->next->data [ pre-]next->data) pre=p; } //删除pre后面的结点 p=pre->next; ;} A: free(p); pre->next=p->next; B: free(p->next);pre->next=p->next; C: pre->next=p->next; free(p); D: p->next=pre->next;free(p);
- 下列算法的功能是:删除单链表L(含两个或两个以上的数据结点)中第一个值为x的结点的前驱结点。请在空白处选择正确的语句。 int deleteFirstX(LinkList &L, ElemType x) { LinkList prepre = L, pre = prepre->next, p; if (pre->data == x) return 0; p = pre->next; while (p != NULL && p->data != x) { prepre = pre; ____________________; p = p->next; } if (p != NULL) { prepre->next = p; free(pre); return 1; } else return 0; } A: pre = p B: prepre->next = p C: p = pre->next D: p = prepre->next
- 在一个单链表中,若要删除p结点的后续结点,则执行 A: P↑.next:=p↑.next↑.next; B: p:=p↑.next;p↑.next:=P↑.next↑.next; C: free(P↑. next); D: p:=p↑.next↑.next;
内容
- 0
●在单链表中,指针p指向元素为x的结点,实现"删除x的后继"的语句是 (20) 。(20) A: p=p→next; B: p→next=p→next→next; C: p→next=p; D: p=p→next→next;
- 1
在一个单链表中,若要删除p结点的后续结点,则执行 A: P↑.next:=p↑.next↑.next; B: p:=p↑.next;p↑.next:=P↑.next↑.next; C: free(P↑. nex; D: p:=p↑.next↑.next;
- 2
在一个单链表中,若要删除p结点的后续结点,则执行 A: p↑.next:=p↑.next ↑.next; B: p:=p↑.next;p↑.next:=p ↑. next ↑.next; C: free(p↑.nex; D: p:=P↑.next↑.next;
- 3
在双向链表存储结构中,删除p所指的结点时须修改指针( )。 A: p→prior =(p→prior)→prior;(p→prior)→next =p; B: (p→prior)→next =p→next;(p→next) →prior =p→prior; C: p→next=(p→prior)→prior;p→prior =(p→next)→next; D: (p→next)→prior =p;p→next =(p→. next)→next;
- 4
在双向链表存储结构中,删除p所指的结点时需修改指针() A: p→next→prior=p→prior;p→prior→next=p→next; B: p→next=p→next→next;p→next→prior=p; C: p→prior→next=p;p→prior=p→prior→prior; D: p→prior=p→next→next;p→next=p→prior→prior;