第1题:
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续节点。 struct node {int data;struct node*next;}*P,*q,*r; 现要将q所指节点从链表中删除,同时要保持链表的连续,
以下不能完成指定操作的语句是( )。
A.p->next=q->next;
B.p->next=P->next->next;
C.p->next=r;
D.p=q->next;
第2题:
在单链表中在指针p所指节点后插入节点q的操作是
A.q:=p↑.link;p↑.link:=q↑.link
B.p↑.link:=q↑.link;q↑.link:=p↑.link
C.q↑.link:=p;p↑.link:=q
D.q↑.link:=p↑.link;p↑.link:=q
第3题:
A.仅设尾指针的单向链表
B.仅设头指针的单向链表
C.仪设尾指针的单向循环链表
D.仅设头指针的单向循环链表
第4题:
设单链表中节点的结构为(data,link)。已知指针q所指节点是指针p所指节点的直接前驱,若在*q与*p之间插入节点*s,则应执行下列哪一个操作?
A.s↑.link:=p↑.link;p↑.link:=s
B.q↑.link:=s;s↑.link:=p
C.p↑.link:=s↑.link;s↑.link:=p
D.p↑.link:=s;s↑.link:=q
第5题:
在双链表中,每个节点有两个指针域,一个指向前驱节点,另一个指向【 】。
第6题:
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a 之后的语句是
struct node
{ char data;
struct node*next;
}a,b,*p= &a,*q=&b;
A.a. next=q;
B.p. next= &b;
C.p->next=&b;
D.(*p).next=q;
第7题:
A、q->next=x->next;x->next=p;
B、s->next=p;q->next=x->next;
C、p->next=x->next;x->next=p;
D、x->next=q;p->next=x->next;
第8题:
设链式栈中节点的结构为(data,link),且top是指向栈顶的指针。则在栈顶插入一个由指针s所指的节点应执行______。
A.top→link=s;
B.s→link=top→link;top→link=s;
C.s→link=top;top=s;
D.s→link=top;top=top→link;
第9题:
在包含1000个元素的线性表中实现如下各运算,哪一个所需的执行时间最长?______。
A.线性表按顺序方式存储,性表的第10个节点后面插入一个新节点
B.线性表按链接方式存储,性表的第10个节点后面插入一个新节点
C.线性表按顺序方式存储,删除线性表的第990个节点
D.线性表按链接方式存储,删除指针p所指向的节点
第10题:
单链表的每个节点中包括一个指针link,它指向该节点的后继节点。现要将指针q指向的新节点插入到指针p指向的单链表节点之后,下面的操作序列中哪一个是正确的? ______。
A.q:=p^.link;p^.link:=q^.link;
B.p^.link:=q^.link;q:=p^.link;
C.q^.link:=p^.link;p^link:=q;
D.p^.link:=q;q^.link:=p^.link;