单链表在内存中存储的思路应该是,这样子的:
    声明一个单链表之后,就产生了头指针了。头指针,指向头结点的内存地址或者为null。
    节点是针对数据而言,它必须要有当前节点的数据内容,又要有下一个节点的指针。在内存的形而上中,逻辑上区分开它们两种——取名数据域和指针域。
    头结点的数据域可以为null,或者可以存储链表的长度,指针域为第一个数据节点的指针地址或者为null。
    尾节点的指针为null。
    单链表读取第i个节点:
    思路——
    顺序存储,很简单:a[i]。
    单链表:
    从第一个节点开始,计数到i-1,拿指针域,为了拿到第i - 1个节点的指针域。

    1. 声明一个变量p,赋值为链表的第一个节点的指针域。声明循环计数j=1。
    2. while循环(因为单链表的长度不确定),循环条件 :p存在 并且 j 小于i。要做的事:p = p->next 下一个节点的指针域,j++ 。
    3. 概念边界 : !p || j > i , return error 。
    4. 拿到p的最终的值,通过指针,拿到数据域的数据,返回数据。