java学习笔记{顺序表的增删查改基本操作}

顺序表
用一段物理地址连续的存储单元依次存储,一般使用数组存储,在数组上完成数据的增删查改。可分为静态顺序表或者动态顺序表,一般我们采用动态的,根据需求分配大小。

顺序表的创建
首先需要两个基本属性,一个存储用的数组array,另一个记录数组大小的size。

基本操作
一、增:
分为头插,尾插和指定插入(给下标)。尾插最简单,直接插入后方,然后增加size。

头插和指定插入:
1.判断循环次数,开始和结尾
2.循环从后往前,目的为了不让数据覆盖,
3.array[空间下标] = array[数据下标] ,一般空间下标比数据下标大1.
4 把插入的值写入。
5.size++

二、删
同样分为头删,尾删和指定删除(给下标)。尾删也是一样最简单,size–即可,也可array[–size] = 0。删除并且把删除点归零。

头删和指定删除:
1.判断循环次数,开始和结尾。
2 循环从前向后,目的相同。
3.array[空间下标] = array[数据下标] ,一般空间下标比数据下标小1.
4 size–

三、扩容
增长操作后,有可能容量不够,就需要进行扩容操作(ensureCapacity).
先申请新房子(newArray),一般增加array.length的一半,然后让所有的元素搬到新的家里(for循环),最后告诉地址(this.array = newArray)。当然还有一步,就是回收,不过java中会自动回收。

易错点(或者容易忘记的)
查找和修改很简单,不过与赘述,记录几点易错的
1.增删操作后,记得改变size的值
2.删除操作时,务必检查线性表是否可以被删除(可使用if),即有无元素在里面,如果没有,报错。
3.凡是带有指定下标的,务必先检查指定下标是否合理(可使用if),即有此下标,如果没有,报错。
4.判断报错信息时,if语句里加return或者后面加else,避免报错了但程序还是继续运行了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值