参考答案和解析
正确答案:p->next
更多“在线性表的单链表存储中,若一个元素所在结点地址为p,则其后继结点”相关问题
  • 第1题:

    已知单链表中某一结点由p指向,求此后继结点存储地址的操作为p=p->next。()

    此题为判断题(对,错)。


    正确答案:√

  • 第2题:

    性表的单链接存储中,若一个结点的地址为P,结点指针域为next,则其后继结点的地址为______。


    正确答案:P→next
    P→next 解析:对线性链表,存储每个结点的直接后继结点的存储位置域为指针域,p的后继结点地址就是P→next.对顺序存储结构,其后继结点位置为当前结点位置加上后继结点大小。

  • 第3题:

    在一个单链表中,若p所指结点不是最后结点,则删除p所指结点的后继结点的正确操作是 ______。

    A.p=p>next

    B.p->next=p->next

    C.p->next=p->next->>next

    D.p->next=p


    正确答案:C

  • 第4题:

    在一个单链表中,若删除p所指结点的后继结点,则执行(38)。

    A.p→next =p→next→next;

    B.p=p→next; p→next =p→next→next;

    C.P→next =p→next;

    D.p=p→next→next;


    正确答案:A
    解析:删除p所指结点的后续结点,即把p所指结点的后续的后续结点的地址(p→next→next)赋值给p结点的next域。

  • 第5题:

    阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 函数 GetListElemPtr(LinkList L,int i)的功能是查找含头结点单链表的第i个元素。若找到,则返回指向该结点的指针,否则返回空指针。 函数DelListElem(LinkList L,int i,ElemType *e) 的功能是删除含头结点单链表的第 i个元素结点,若成功则返回 SUCCESS ,并由参数e 带回被删除元素的值,否则返回ERROR 。 例如,某含头结点单链表 L 如图 4-1 (a) 所示,删除第 3 个元素结点后的单链表如 图 4-1 (b) 所示。图4-1

    define SUCCESS 0 define ERROR -1 typedef int Status; typedef int ElemType; 链表的结点类型定义如下: typedef struct Node{ ElemType data; struct Node *next; }Node ,*LinkList; 【C 代码】 LinkList GetListElemPtr(LinkList L ,int i) { /* L是含头结点的单链表的头指针,在该单链表中查找第i个元素结点: 若找到,则返回该元素结点的指针,否则返回NULL */ LinkList p; int k; /*用于元素结点计数*/ if (i<1 ∣∣ !L ∣∣ !L->next) return NULL; k = 1; P = L->next; / *令p指向第1个元素所在结点*/ while (p && (1) ) { /*查找第i个元素所在结点*/ (2) ; ++k; } return p; } Status DelListElem(LinkList L ,int i ,ElemType *e) { /*在含头结点的单链表L中,删除第i个元素,并由e带回其值*/ LinkList p,q; /*令p指向第i个元素的前驱结点*/ if (i==1) (3) ; else p = GetListElemPtr(L ,i-1); if (!p ∣∣ !p->next) return ERROR; /*不存在第i个元素*/ q = (4) ; /*令q指向待删除的结点*/ p->next = q->next; /*从链表中删除结点*/ (5) ; /*通过参数e带回被删除结点的数据*/ free(q); return SUCCESS; }


    正确答案:(1) k<i
    (2) p = p->next
    (3) p=L
    (4) p->next
    (5) *e = q->data

  • 第6题:

    在一个单链表中,若p所指的结点不是最后结点,则删除p所指的结点的后继结点的正确操作是()。

    A.p=p->next
    B.p->next=p->next
    C.p->next=p->next->next
    D.p->next=p

    答案:C
    解析:
    本题考查的是单链表的删除操作。在已知链表中元素插入或删除确切位置的情况下,在单链表中插入或删除一个结点时,仅需修改指针而无须移动元素。

  • 第7题:

    若某线性表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则下面最合适的存储方式是()。

    A.单链表
    B.循环双链表
    C.单循环链表
    D.带有尾指针的单循环链表

    答案:B
    解析:
    在链表中的最后一个结点之后插入个结点要知道终端结点的地址,所以,单链表、单循环链表都不合适,删除最后一个结点要知道终端结点的前驱结点的地址,所以,带有尾指针的单循环链表不合适,而循环双链表满足条件。

  • 第8题:

    设指针变量p指向单链表中某结点A,则删除结点A的后继结点需要的操作为()(不考虑存储空间的释放)。


    正确答案:p->next=p->next->next

  • 第9题:

    在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(),若假定p为一个数组a中的下标,则其后继结点的下标为()。


    正确答案:p->next;a[p].next

  • 第10题:

    在单链表L中,指针p所指结点有后继结点的条件是()


    正确答案:p->next!=NULL

  • 第11题:

    填空题
    在线性表的单链表存储中,若一个元素所在结点地址为p,则其后继结点的地址为()

    正确答案: p->next
    解析: 暂无解析

  • 第12题:

    单选题
    若线性表最常用的操作是在最后一个元素之后插入一个结点和删除最后一个结点,则采用()存储方式节省时间。
    A

    单链表;

    B

    双向链表;

    C

    单循环链表;

    D

    带头结点的双循环链表;


    正确答案: B
    解析: 暂无解析

  • 第13题:

    对于单链表存储结构,以下说法错误的是()

    A.一个结点的数据域用于存放线性表的一个数据元素

    B.一个结点的指针域用于指向下一个数据元素的结点

    C.单链表必须带有头结点

    D.单链表中的所有结点可以连续存放,也可以不连续存放


    参考答案:C

  • 第14题:

    在单链表中,增加头结点的目的是( )。

    A.方便运算的实现

    B.使单链表至少有一个元素

    C.标识表结点中首结点的位置

    D.说明单链表是线性表链式存储的实现形式


    正确答案:A
    解析:头结点不仅标识了表中首结点的位置,而且根据单链表的结构,只要掌握了表头,就能访问整个链表,因此增加头结点的目的就是为了便于运算的实现。

  • 第15题:

    在一个单链表中,若删除P结点的后继结点,则(34)。

    A.P→next=P→next→next

    B.P=P→next;P→next=P→next→next

    C.P→next=P→next

    D.P=P→next→next


    正确答案:A
    解析:本题考查单链表的基本操作——结点删除。单链表中的每个结点不但要存储线性表结点的信息,还要用一个域存储其后继结点的指针。单向链表通过链接指针来体现线性表中结点的先后次序关系。题目中要求删除P结点的后继结点,这要求我们在删除P结点的后继结点后要仍然保证此链表是一个单链表,即需要将P结点后继结点的后继结点指针赋给P→next,即P→next=P→next→next。

  • 第16题:

    在单链表中,增加头结点的目的是( )。 A.方便运算的实现B.使单链表至少有一个结点SXB

    在单链表中,增加头结点的目的是( )。

    A.方便运算的实现

    B.使单链表至少有一个结点

    C.标识表结点中首结点的位置

    D.说明单链表是线性表的链式存储实现


    正确答案:A
    A。【解析】头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点的目的是为了便于运算的实现。

  • 第17题:

    阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
    [说明]
    函数GetListElemPtr(LinkList L,int i)的功能是查找含头结点单链表的第i个元素。若找到,则返回指向该结点的指针,否则返回空指针。
    函数DelListElem(LinkList L,int i,ElemType *e)的功能是删除含头结点单链表的第i个元素结点,若成功则返回SUCCESS,并由参数e带回被删除元素的值,否则返回ERROR。
    例如,某含头结点单链表L如下图(a)所示,删除第3个元素结点后的单链表如下图(b)所示。
    1.jpg

    #define SUCCESS 0 #define ERROR -1 typedef intStatus; typedef intElemType;

    链表的结点类型定义如下:

    typedef struct Node{ ElemType data; struct Node *next; }Node,*LinkList; [C代码] LinkListGetListElemPtr(LinkList L,int i) { /*L是含头结点的单链表的头指针,在该单链表中查找第i个元素结点; 若找到,则返回该元素结点的指针,否则返回NULL */ LinkList p; int k; /*用于元素结点计数*/ if(i<1 || !L || !L->next) return NULL; k=1; p=L->next; /*令p指向第1个元素所在结点*/ while(p &&______){ /*查找第i个元素所在结点*/ ______; ++k; } return p; } StatusDelListElem(LinkList L,int i,ElemType *e) { /*在含头结点的单链表L中,删除第i个元素,并由e带回其值*/ LinkList p,q; /*令P指向第i个元素的前驱结点*/ if(i==1) ______; else p=GetListElemPtr(L,i-1); if(!P || !p->next) return ERROR; /*不存在第i个元素*/ q=______; /*令q指向待删除的结点*/ p->next=q->next; //从链表中删除结点*/ ______; /*通过参数e带回被删除结点的数据*/ free(q); return SUCCESS; }


    答案:
    解析:
    k<i
    p=p->next
    p=L
    p->next
    *e=q->data


    【解析】

    本题考查C语言的指针应用和运算逻辑。
    本问题的图和代码中的注释可提供完成操作的主要信息,在充分理解链表概念的基础上填充空缺的代码。
    函数GetListElemPtr(LinkList L,int i)的功能是在L为头指针的链表中查找第i个元素,若找到,则返回指向该结点的指针,否则返回空指针。描述查找过程的代码如下,其中k用于对元素结点进行计数。

    k=1; p=L->next; /*令p指向第1个元素所在结点*/

  • 第18题:

    在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。

    A.遍历链表和求链表的第i个结点
    B.在地址为P的结点之后插入一个结点
    C.删除开始结点
    D.删除地址为P的结点的后继结点

    答案:A
    解析:
    A项,由于单链表是非随机存取的存储结构,遍历链表和求链表的第i个结点都必须从头指针出发寻找,其时间复杂度为0(n);B项,由于已知待插入结点的前驱结点,可以直接实现插入,其时间复杂度为0(1);CD两项,可以直接实现删除操作,其时间复杂度为O(1)。

  • 第19题:

    若线性表最常用的操作是在最后一个元素之后插入一个结点和删除最后一个结点,则采用()存储方式节省时间。

    • A、单链表;
    • B、双向链表;
    • C、单循环链表;
    • D、带头结点的双循环链表;

    正确答案:D

  • 第20题:

    已知一个顺序存储的线性表,设每个结点需占用m个存储单元,若第一个结点的地址为d1,则第1个结点的地址为()。


    正确答案:dl+(I-1)*m

  • 第21题:

    设有一个头指针为head的单向循环链表,p指向链表中的结点,若p->next=(),则p所指结点为尾结点。


    正确答案:head

  • 第22题:

    填空题
    在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(),若假定p为一个数组a中的下标,则其后继结点的下标为()。

    正确答案: p->next,a[p].next
    解析: 暂无解析

  • 第23题:

    填空题
    设指针变量p指向单链表中某结点A,则删除结点A的后继结点需要的操作为()(不考虑存储空间的释放)。

    正确答案: p->next=p->next->next
    解析: 暂无解析