指针为空表示该指针所指向的结点()。

题目

指针为空表示该指针所指向的结点()。

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为回答;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向()。


参考答案:头结点的指针、指向第一个结点的指针

第2题:

一个具有m个结点的二叉树,其二叉链表结点(左、右孩子指针分别用left和right表示)中的空指针总数必定为(57)个。为形成中序(先序、后序)线索二叉树,现对该二叉链表所有结点进行如下操作:若结点p的左孩子指针为空,则将该左指针改为指向p在中序(先序、后序)遍历序列的前驱结点;若p的右孩子指针为空,则将该右指针改为指向p在中序(先序、后序)遍历序列的后继结点。假设指针s指向中序(先序、后序)线索二叉树中的某结点,则(58)。

A.m+2

B.m+1

C.m

D.m-1


正确答案:B

第3题:

非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。

A.p->next = =NULL

B.p= =NULL

C.p= =head

D.p->next= =head


参考答案:D

第4题:

线索链表中的rtag域值为()时,表示该结点无右孩子,此时()域为指向该结点后继线索的指针。


正确答案:1;RChild

第5题:

非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。

Ap==head

Bp==NULL

Cp->next==head

Dp->next==NULL


C

第6题:

对于单链表表示法,以下说法正确的是()

A指向链表的第一个结点的指针,称为头指针

B单链表的每一个结点都被一个指针所指

C任何结点只能通过指向它的指针才能引用

D尾指针变量具标识单链表的作用,故常用尾指针变量来命名单链表


参考答案:ABC

第7题:

利用二叉链表存储树,则根结点的右指针为()。

A.指向最左孩子
B.指向最右孩子
C.空
D.非空

答案:C
解析:

第8题:

假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素站点(注意不设头指针) ,试编写相应的置空队、判队空 、入队和出队等算法。


参考答案:
  置空队就是建立一个头节点,并把头尾指针都指向头节点,头节点是不存放数据的;判队空就是当头指针等于尾指针时,队空;入队时,将新的节点插入到链队列的尾部,同时将尾指针指向这个节点;出队时,删除的是队头节点,要注意队列的长度大于1还是等于1的情况,这个时候要注意尾指针的修改,如果等于1,则要删除尾指针指向的节点。
  [算法描述]
  //先定义链队结构:
  typedef struct queuenode
  {Datatype data;
  struct queuenode *next;
  }QueueNode; //以上是结点类型的定义
  typedef struct
  {queuenode *rear;
  }LinkQueue; //只设一个指向队尾元素的指针
  (1) 置空队
  void InitQueue( LinkQueue *Q)
  { //置空队:就是使头结点成为队尾元素
  QueueNode *s;
  Q->rear = Q->rear->next;//将队尾指针指向头结点
  while (Q->rear!=Q->rear->next)//当队列非空,将队中元素逐个出队
  {s=Q->rear->next;
  Q->rear->next=s->next;
  delete s;
  }//回收结点空间
  }
  (2) 判队空
  int EmptyQueue( LinkQueue *Q)
  { //判队空。当头结点的next指针指向自己时为空队
  return Q->rear->next->next==Q->rear->next;
  }
  (3) 入队
  void EnQueue( LinkQueue *Q, Datatype x)
  { //入队。也就是在尾结点处插入元素
  QueueNode *p=new QueueNode;//申请新结点
  p->data=x; p->next=Q->rear->next;//初始化新结点并链入
  Q-rear->next=p;
  Q->rear=p;//将尾指针移至新结点
  }
  (4) 出队
  Datatype DeQueue( LinkQueue *Q)
  {//出队,把头结点之后的元素摘下
  Datatype t;
  QueueNode *p;
  if(EmptyQueue( Q ))
  Error("Queue underflow");
  p=Q->rear->next->next; //p指向将要摘下的结点
  x=p->data; //保存结点中数据
  if (p==Q->rear)
  {//当队列中只有一个结点时,p结点出队后,要将队尾指针指向头结点
  Q->rear = Q->rear->next;
  Q->rear->next=p->next;
  }
  else
  Q->rear->next->next=p->next;//摘下结点p
  delete p;//释放被删结点
  return x;
  }

第9题:

在循环双向链表中表头结点的左指针域指向()结点,最后一个结点的右指针域指向()结点。


正确答案:表尾;表头

第10题:

设rear是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是()


正确答案:rear->next->next

更多相关问题