数据结构-链表

今天写抽象数据类型的表

抽象数据类型(ADT)是个啥?

就是定义了一块数学模型和对这块数学模型的操作。

现在就讲下今天的大头,LIST ADT

从最表的最简单格式讲

数组

数组的数学模型就是arr=[1,2,3];

数组的操作就是打印数组,查找元素,这些操作可以自己添加,比如找previous或者next.

数组有个啥问题呢?就是删除和添加的时候,需要对整个数组大动干戈。

比如,在数组最前面添加一个元素,要把所有元素都向后移动。

比如,在数组最前面删除一个元素,要把所有元素都向前移动。

为了解决这个问题,就看看今天的第二个表

链表

链表可以解决数组添加和删除元素所需时间多的问题,因为链表中的结构在内存中排列不是按顺序来的。

链表中的每一个结构都有一个element和pointer,element 包含元素,pointer指向下一个结构的地址。看下面的图吧

当然,链表也有一些问题。比如怎么在第一个结构前插入,删了第一个结构怎么ADT找不到了。这些问题可以用头元素,下标为0的东西解决。

对于链表,也有插入和删除一些操作。

 

转载于:https://www.cnblogs.com/wz0107/p/5352218.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值