设指针变量p指向双向链表中节点A,指针变量s指向被插入的节点X,则在节点A的后面插入节点X的操作序列为()A.p->right=s;s->left=p;p->right->left=s;s->right=p->right; B.p->right=s;p->right->left=s;s->left=p;s->right=p->right; C.s->left=p;s->right=p->right;p->right=s;p->right->left=s; D.s->left=p;s->right=p->r

题目
设指针变量p指向双向链表中节点A,指针变量s指向被插入的节点X,则在节点A的后面插入节点X的操作序列为()

A.p->right=s;s->left=p;p->right->left=s;s->right=p->right;
B.p->right=s;p->right->left=s;s->left=p;s->right=p->right;
C.s->left=p;s->right=p->right;p->right=s;p->right->left=s;
D.s->left=p;s->right=p->right;p->right->left=s;p->right=s;

相似考题
参考答案和解析
答案:D
解析:
为了防止在插入节点时链表断裂,在修改指针时,需要先使s的后继指针指向p原来的后继节点,然后修改p的后继指针。
更多“设指针变量p指向双向链表中节点A,指针变量s指向被插入的节点X,则在节点A的后面插入节点X的操作序列为()”相关问题
  • 第1题:

    在单链表中在指针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


    正确答案:D
    解析:单链表中指针p所指节点后插入节点 q的操作是q↑.link:=p↑.link;p↑.link:=q。

  • 第2题:

    在双链表中,每个节点有两个指针域,一个指向前驱节点,另一个指向【 】。


    正确答案:后续节点(后继节点)
    后续节点(后继节点) 解析:链式存储结构的节点中,只有一个指示直接后继的指针域。因此从某个点出发,只能顺指针往后寻查其他节点。若要寻查节点的直接前驱,则需要从表头指针出发,影响查找效率。为了克服单链表这种单向性的缺点,可利用双向链表。双向链表的节点中,有两个指针域,其一指向直接后继,另一个指向直接前驱。

  • 第3题:

    设单链表中节点的结构为(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


    正确答案:B
    解析:在单链表中两个节点之间插入一个新节点,要把前面节点的指针域指向新插入的节点(q↑.link=s),把新插入的节点的指针域指向后面的节点(s↑.link=p)。

  • 第4题:

    设链式栈中节点的结构为(data,link),且top是指向栈顶的指针。则想将栈顶节点的值保存到X中并将栈顶节点删除应执行______。

    A.x=top→data;top=top→link;

    B.x=top→data;

    C.x=top;top=top→link;

    D.top=top→link;X=top→data;


    正确答案:A
    解析:若有栈S=(S0,S1,…Sn),则S0称为栈底节点,sn-1称为栈顶节点。通常称栈的节点插入为进栈(Push),栈的节点的删除为出栈(Pop)。
      栈有两种存储结构:顺序栈和链栈。顺序栈即栈的顺序存储结构,是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时设指针top指示栈顶元素的当前位置。链栈即栈的链式存储结构,链表的第一个元素是栈顶元素,链表的末尾是栈底节点,链表的头指针就是栈顶指针,栈顶指针为空则是空栈。

  • 第5题:

    双链表的每个节点包括两个指针域。其中rlink指向节点的后继,llink指向节点的前驱。如果要在p所指节点后插入q所指的新节点,下面哪一个操作序列是正确的?

    A.p↑.rlink↑.llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑,rlink;

    B.p↑.llink↑.rlink:=q;p↑.llink:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;

    C.q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q↑;

    D.q↑.rlink:=p;q↑.llink:=p↑.llink;p↑.1link↑.rlink:=q;p↑.llink:=q;


    正确答案:C
    解析:在双链表中,如果要在P所指节点后插入q所指的新节点,只需修改P所指节点的rlink字段和原后继的llink字段,并置q所指节点的llink和rlink值。即:
      q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.rlink:=q;p↑.rlink:=q。

  • 第6题:

    单向链表的每一个节点都有一个指向它的后续节点的指针link,现有节点P和q,要将q插入节点p的后面,正确的操作应该是

    A.q↑.link: =p↑.link; p↑.link: =q;

    B.q: =p↑.link; p↑.link:=q↑.link;

    C.q↑.link: =p; p↑.link: =q;

    D.q:=p↑.link; p:=q↑.link;


    正确答案:A
    解析:单向链表插入运算的关键步骤为:q↑.link:=p↑.link; p↑.link:=q;

  • 第7题:

    单向链表的每一个节点都有一个指向它的后续节点的指针link,现有节点p和q,节点q在节点p的前面,要删除节点p,正确的操作应该是

    A.q↑.link:=p↑.link;

    B.p↑.link:=q↑.link;

    C.q↑.link:=p;p↑.link:=q;

    D.q:=p↑.link;p↑.link:=q↑.link;


    正确答案:A
    解析:单向链表删除运算只要将q的指针link指向p的后继即可:q↑.link:=p↑.link。

  • 第8题:

    设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。

    A.p->next=s;s->next=q;
    B.q->next=s;s->next=p;
    C.p->next=s->next;s->next=p;
    D.s->next=p->next;p->next=-s;

    答案:B
    解析:
    插入s结点,应使s的next指针指向p结点,使q结点的next指针指向s。

  • 第9题:

    设链式栈中节点的结构为(data,link),且top是指向栈顶的指针。若想摘除链式栈的栈顶节点,并将被摘除节点的值保存到x中,则应执行下列()操作。

    A.x=top->data;top=top->link;
    B.top=top->link;x=top->data;
    C.x=top;top=top->link;
    D.x=top->data;

    答案:A
    解析:
    若想摘除链式栈的栈顶节点,并将被摘除节点的值保存到x中,则应执行x=top->data;top=top->link.

  • 第10题:

    单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个节点。


    正确答案:正确

  • 第11题:

    要想删除1个链表中的节点,必须的操作包括:()

    • A、判断该节点是否是头节点
    • B、删除该节点
    • C、将前1节点的指针指向被删除节点的后1节点
    • D、将被删除节点的指针设为空

    正确答案:A,B,C

  • 第12题:

    填空题
    常规四叉树每个节点通常储存()个变量,即()子节点指针、()个父节点指针和()个节点值

    正确答案: 6,4,1,1
    解析: 暂无解析

  • 第13题:

    已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针x指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。

    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;


    参考答案:A

  • 第14题:

    在包含1000个元素的线性表中实现如下各运算,哪一个所需的执行时间最长?______。

    A.线性表按顺序方式存储,性表的第10个节点后面插入一个新节点

    B.线性表按链接方式存储,性表的第10个节点后面插入一个新节点

    C.线性表按顺序方式存储,删除线性表的第990个节点

    D.线性表按链接方式存储,删除指针p所指向的节点


    正确答案:A

  • 第15题:

    单链表的每个节点中包括一个指针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;


    正确答案:C

  • 第16题:

    超文本采用一种网状结构(非线形结构)来组织信息,超文本中的每个节点都有若干指向其他节点的或从其他节点指向该节点的指针,这种指针称为【 】。


    正确答案:链
    链 解析:每个链连接着两个节点,它是有向的,从一个节点(称之为源节点)到另一个节点(称为目的节点)。

  • 第17题:

    单键表的每个节点中包括一个指针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;


    正确答案:C

  • 第18题:

    有以下结构体说明和变量的定义,且指针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;


    正确答案:B
    解析:对象成员有两种访问方式:一个是通过对象名,使用“.”运算符来访问;另一个是通过指向对象的指针,使用“->”运算符来访问其成员。因此,选项B的访问方式是错误的。

  • 第19题:

    设有指针p指向带表头结点的单链表,现将指针p指向节点的后继节点删除(不考虑节点值及空间回收),其操作是______。其中p^.next表示p所指节点的链域,q是一个临时指针变量,初始值为null。

    A.p:=p^.next

    B.q:=p^.next;p^.next:=q^.next

    C.p^.next:=q;q^.next:=p

    D.p:=q^.next;q^.next=p


    正确答案:B

  • 第20题:

    设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为()。

    A.s->next=rear;rear=s;
    B.front->next=s;front=s;
    C.rear->next=s;rear=s;
    D.s->next=front;front=s;

    答案:C
    解析:
    向队列插入元素,即入队操作,应该在队尾进行,所以需要修改尾指针,实现新结点的人队。

  • 第21题:

    若在单向链表上,除访问链表中所有节点外,还需在表尾频繁插入节点,那么采用()最节省时间。

    • A、仅设尾指针的单向链表
    • B、仅设头指针的单向链表
    • C、仪设尾指针的单向循环链表
    • D、仅设头指针的单向循环链表

    正确答案:C

  • 第22题:

    常规四叉树每个节点通常储存()个变量,即()子节点指针、()个父节点指针和()个节点值


    正确答案:6;4;1;1

  • 第23题:

    多选题
    要想删除1个链表中的节点,必须的操作包括:()
    A

    判断该节点是否是头节点

    B

    删除该节点

    C

    将前1节点的指针指向被删除节点的后1节点

    D

    将被删除节点的指针设为空


    正确答案: A,C
    解析: 暂无解析