• 单链表笔记其模板


    一:定义

    是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。

    二:数组模拟链表

    定义:

    idx:存储当前已经用到了哪个点

    head:头节点下标

    e[i]:结点i 的值

    ne[i]:表示结点i的下一个下标是。

    比如:

    1:初始化:

    idx=0,head=-1(尾)

    2:将x插入头节点

    插入数,有一个统一的步骤

    新插入点的ne[idx]接上原head指向的结点3,断掉黑色链,head接上新插入点的位置,即idx

    代码:

    void add_to_head(int x)
    {
        e[idx]=x;
        ne[idx]=head;
        head=idx;
        idx++;
    }

    3: x插入到下标是k的点后面 

    与2类似,只是头节点变成了下标是k的结点。

    同样的,连新链,断旧链,再把k接倒新点上

    void add(int k,int x)
    {
        e[idx]=x;
        ne[idx]=ne[k];
        ne[k]=idx;
        idx++;
    }

    4:下标是k的点的后面点删掉 

    这个就比较简单了,把1,2断掉,直接把3接过去即可,所以是,把k指向下一个的下一个

    void remove(int k)
    {
        //指向下一个的下一个 
        ne[k]=ne[ne[k]];
    } 

    三:模板题

    地址:https://www.acwing.com/problem/content/828/

    我的代码:https://www.cnblogs.com/liyexin/p/13954765.html

  • 相关阅读:
    EduCF-69 Array Splitting (连续子序列,规律)
    Subsequence 单调队列
    HDU
    HDU
    Numpy 切片和索引
    Numpy 从数值范围创建数组
    Numpy 的常用属性 和创建数组
    Numpy 线性代数
    Numpy 矩阵库(Matrix)
    Numpy 创建数组
  • 原文地址:https://www.cnblogs.com/liyexin/p/13954747.html
Copyright © 2020-2023  润新知