数据结构之~线性表

线性表的储存方式:

(1)顺序储存:用连续的储存单元进行数据的储存。

        分配储存单元:

typedef struct{

    int *elem;

    int legth;   //线性表长度

    int listSize;//线性表的储存位置

} SqList;

        a>优点:由于是储存的单元是连续的,所以可以快速进行查找数据向我们是编程中使用的NSArray,表示数组一样。

        b>缺点:在删除和添加过程中需要移动的数据比较多。


(2)链式储存:任意的储存单元进行数据的储存。每一组储存影像代表一个储存的元素------我们称之为(结点)。

         结点:包括两部分,指针域:储存直接后继储存位置。

                                          数据域:储存元素信息。

          分配储存单元:

//线性表的链式储存结构

typedef struct LNode{

    ElemType data;

    struct LNode *next;

}LNode, *LinkList;

        a>优点:在删除和添加过程中需要移动的数据比较少。

        b>缺点:与顺序列表相比较由原来“位序表示”--》变为目前的线性链表“位置表示”,查找数据需要重头开始。而且我们在储存数据时需要储存相应的指针所以需要的内存密度可能小与顺序储存。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值