美文网首页
线性表习题04

线性表习题04

作者: sakura579 | 来源:发表于2020-08-10 09:21 被阅读0次

    查找要插入的位置 是线性级
    插入操作是 是常量级
    线性级+常量级
    结果还是线性级

    A选项 一般 带有头结点的链表 删除第一个结点 是删除数据结点(开始结点)
    因为头结点 一般不动 它是链表存在的标记

    但是不管这句话 理解成删除数据结点还是删除头结点 都与链表长度无关

    B选项 需要找到尾结点前面的结点 把它的next指针置为NULL
    把r指向新的尾结点
    因此 需要从头到尾 扫描链表 和链表长度有关

    考点 只能在已知结点之后插入或删除结点
    因为每个结点中只保存了后继结点的位置信息 next指针指出
    前驱结点信息不知道

    结点没有名字 我们一般把指向它指针变量的名字 作为结点的名字


    选A




    改变顺序表的长度


    delta 是我们要删除的元素个数
    等于 j - i + 1

    图中是3~5是要删除元素的下标
    5-3+1 = 3 个

    循环从最后一个要删除的元素后面开始(j+1)
    将后面的挪到前面


    删除重复的函数

    LNode *p = L->next
    带有头结点的单链表 , p 指向开始结点

    判断语句 p->next ! =NULL
    删除结点 要知道被删除结点的前驱
    所以定义的p 始终指向被删除结点的前驱

    创建单链表



    打印



    测试

    测试结果


    注意循环条件 p始终指向 要摘出结点的 前驱结点
    因为要从A链表中摘出结点
    这个操作 和删除很像 就是没有free()


    相关文章

      网友评论

          本文标题:线性表习题04

          本文链接:https://www.haomeiwen.com/subject/jrmtdktx.html