数据结构入门学习系列-4(线性表的链式存储)

来源:互联网 发布:淘宝订单编号有规律吗 编辑:程序博客网 时间:2024/06/07 01:02

    上一篇讲了线性表中的线性存储,改文章学习一下线性表的链式存储结构。

     链式存储:一组任意的存储单元来存储数据,而不必须是连续的存储的单元。因此为了正确表示数据间的逻辑关系,除了数据域域外,我们还需要一个指针域。

    当一个节点只包含一个指针域的时候,该指针指向数据的后继节点,我们称为单链表。如下图所示:     

data*next

     一般单链表的第一个节点之前有一个头结点,head节点,该节点可以不存储任何数据信息。所以单链表是由头结点唯一确定的,因此可以用头指针来表示单链表。下面看一下单链表的逻辑结构和物理结构:

     

    C语言中对该结构的抽象定义为:

typedef struct LNode {    ElemType data;    struct LNode *next;} LNode;
    使用的时候,需要动态申请内存和动态释放内存:

    LNode *p = (LNode *)malloc(sizeof(LNode));

    p->data = 10;     p->next=NULL;

    free(p);

    下面图示是一些常见的链表指针操作,请作参考:

        

       

    这些操作都比较经典,后续的一些链表的增删改查基本算法中都有涉及。

阅读全文
0 0
原创粉丝点击