数据结构学习之线性表的单链表存储(1)

        一直想学习数据结构,但每次总是匆匆的看看相关的书,没有编写具体代码。

为了加强学习效率,也方便后期复习,以后每学习一部分,就发表一篇博文来纪念。由于能力有限,难免有些错误,欢迎大家指导交流。

       先从最简单的数据结构—线性链表开始。线性链表特点:(1)存在唯一的第一个数据元素即头部;(2)存在唯一的最后个数据元素即尾部;(3)除第一个元素外,集合中每个元素都有唯一前驱;(4)除最后个元素外,集合中每个元素都有唯一后继。

      线性链表根据存储方式分为线性存储和链式存储。线性存储方式对应着顺序表示,链式存储方式对应着链式表示。

     1,线性表的顺序表示

      线性表的顺序表示是用一组地址连续的存储单元依次来存储线性表的数据单元。

     顺序存储的结构体定义:

      typedef   int   ElemType;

      typedef struct SqList{

      ElemType *elem; //存储空间基地址

      int length;//结构体长度

     int listsize;  //当前的存储容量

    }

     顺序存储计算内“物理地址相邻”来表示数据元素之间的逻辑顺序,所以查找方便,可以随机存取任一元素。但插入、删除元素时,需要移动的数据量大。所以一般采用链式存储结构。

     2,线性表的链式表示

      2.1 存储结构定义

     typedef struct LNode{

    ElemType   data; //节点数据域

    struct LNode  *next; //节点指针域,指向下个元素

    };

    typedef struct LNode  NODE;

    ps:LNode为定义的结构体类型名,NODE为定义结构体类型别名,可以等效?

    头文件:

 

          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值