niusouti.com
更多“在头指在单链表中,指针p指向元素为x的结点,实现删除x的后继的语”相关问题
  • 第1题:

    已知指针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

  • 第2题:

    某单循环链表头指针为head且表长大于1,指针p指向表中某个结点,若p→next→next= head,则(11)。

    A.p指向头结点

    B.p指向尾结点

    C.*p的直接后继是头结点

    D.*P的直接后继是尾结点


    正确答案:D
    解析:因为p→next→next=head,所以p→next是尾结点,即*P的直接后继是尾结点。

  • 第3题:

    在单链表中,指针P指向元素为x的结点,实现“删除x的后继”的语句是(20)。

    A.p=p→next;

    B.p→next:p→next→next;

    C.p→next=p;

    D.p=p→next→next;


    正确答案:B
    解析:删除p结点的直接后继需修改p结点的指针域,使p结点的指针域指向其后继的后继。即p->next=p->next->next。

  • 第4题:

    在单链表中,指针p指向元素为x的结点,下面哪条语句实现“删除x的后继”? ( )

    A.p=p->next

    B.p->next=p->next->next

    C.p->next=p

    D.p=p->next->next


    正确答案:B
    解析:在单链表中删除元素的后继,也就是要断掉该元素与后继元素的联系,同时让该元素后继的后继成为该元素的后继。

  • 第5题:

    阅读以下说明和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个元素所在结点*/

  • 第6题:

    在带有头结点的单链表HL中,要在首元元素之前插入一个由指针p指向的结点,则应执行p->next=HL->next及()操作。


    正确答案:HL->next=p

  • 第7题:

    设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。

    • A、p->next=p->next->next
    • B、p=p->next
    • C、p=p->next->next
    • D、p->next=p

    正确答案:A

  • 第8题:

    设单链表中指针p指向结点A,若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。


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

  • 第9题:

    设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作()。


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

  • 第10题:

    填空题
    设单链表中指针p指向结点A,若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。

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

  • 第11题:

    单选题
    针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next==head,则()。
    A

    p指向头结点

    B

    p指向尾结点

    C

    p的直接后继是头结点

    D

    p的直接后继是尾结点


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

  • 第12题:

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

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

  • 第13题:

    在单链表中,指针p指向元素为x的结点,实现删除x节点的后继结点的语句是()。

    A、p=p->next;

    B、p->next=p->next->next;

    C、p->next=p;

    D、p->next->next=p->next->next->next;


    参考答案:D

  • 第14题:

    (C语言)在头指针为head且表长大于1的单循环链表中,指针p指向表中英雄模范个结点,若p->next->next=head,则

    A、p指向头结点B、p指向尾结点

    C、*p的直接后继是头结点D、*p的直接后继是尾结点


    正确答案:
          

  • 第15题:

    在单链表中,指针P指向元素为x的结点,语句(10)现“删除x的后继”

    A.p=p→mext;

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

    C.p→next=p;

    D.p=p→next→next;


    正确答案:B
    解析:“删除x的后继”只需使x的指针指向后继的下一个结点。

  • 第16题:

    阅读以下说明和 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

  • 第17题:

    设指针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。

  • 第18题:

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


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

  • 第19题:

    在头指在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是()。

    • A、p=p->next;
    • B、p->next=p->next->next;
    • C、p->next=p;
    • D、p=p->next->next;

    正确答案:B

  • 第20题:

    设单链表中指针p 指向结点A,q指针指向其后继结点。若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。


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

  • 第21题:

    针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next==head,则()。

    • A、p指向头结点
    • B、p指向尾结点
    • C、p的直接后继是头结点
    • D、p的直接后继是尾结点

    正确答案:D

  • 第22题:

    填空题
    设单链表中指针p 指向结点A,q指针指向其后继结点。若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。

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

  • 第23题:

    单选题
    设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。
    A

    p->next=p->next->next

    B

    p=p->next

    C

    p=p->next->next

    D

    p->next=p


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

  • 第24题:

    单选题
    在头指在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是()。
    A

    p=p->next;

    B

    p->next=p->next->next;

    C

    p->next=p;

    D

    p=p->next->next;


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