题目内容

在双向循环链表中,有两个指针域,llink和rlink,分别指回前驱及后继,在p指针所指向的结点前插入一个指针q所指向的新结点,其修改指针的操作是()。

A. p->llink=q; q->rlink=p; p->llink->rlink=q; q->llink=q;
B. p->llink=q; p->llink->rlink=q; q->rlink=p; q->llink=p->llink;
C. q->rlink=p;q->llink=p->llink; p->llink->rlink=q; p->llink=q;
D. q->llink=p->llink; q->rlink=p; p->llink=q;

查看答案
更多问题

对于顺序存储的线性表,访问结点和删除结点的时间复杂度分别为()

A. O(n) O(n)
B. O(n) O(1)
C. O(1) O(n)
D. O(1) O(1)

下列程序段的时间复杂度是count=0;for(k=1;k<=n;k*=2)for(j=1;j<=n;j+=1)count++;

A. O(log2n)
B. O(n)
C. O(nlog2n)
D. O(n2)

已知表头元素为c的单链表在内存中的存储状态如下表所示现将f存放于1014H处并插入到单链表中,若f在逻辑上位于a和e之间,则a,e,f的链接地址依次是

A. 1010H,1014H,1004H
B. 1010H,1004H,1014H
C. 1014H,1010H,1004H
D. 1014H,1004H,1010H

已知一个带表头结点的双向循环链表L,结点结构为其中,prev和next分别是指向其直接前驱和直接后继结点的指针。现要删除指针p所指的结点,正确的语句序列是

A. p->next->prev=p->prev;p->prev->next=p->prev;free(p);
B. p->next->prev=p->next;p->prev->next=p->next;free(p);
C. p->next->prev=p->next;p->prev->next=p->prev;free(p);
D. p->next->prev=p->prev;p->prev->next=p->next;free(p);

答案查题题库