集合框架(数据结构之数组和链表)

数组存储同一种类型的多个元素的容器,有索引,方便我们的获取

定义一个数组:

      int [] arr = {11,22,33,44,55}


需求1:我要获取33直观元素,应该怎么办?

  arr[2];

需求2: 我要在33直观元素后面添加一个新元素88,怎么办?

A:定义一个新数组,长度是一起的数组的长度+1;

B:遍历旧数组,找元素,看是否是33;

33以前的:按照以前的位置存储到新数组中;

33:继续储存;

33以后的:在新数组中先添加88;然后把以前数组中的33以后的元素索引都+1存储新数组;

需求3:我要删除33这个元素,怎么办?

A:定义一个新数组,长度是以前的数组长度-1;

B:遍历旧数组,找元素,看是否是33,

33以前的:按照以前的位置存储到新数组中

33:不存储

33以后的:把以前的位置-1存储到新数组中

数组特点:查询快,增删慢(综上所述)。

链表 :由一个链子把多个节点连在一起组成的数据,结点:由数据和地址组成(数据域和指针域组成)

演示图:

需求1:我要获取33直观元素,应该怎么办?

  从头开始来,找任意元素都是从头开始找,

需求2: 我要在33直观元素后面添加一个新元素88,怎么办?

A:88这个节点元素应该有它自己的存储

B:把33的地址用一个变量给记录下来 ---temp

C:把88的元素地址赋值给33的的地址位置

D:把temp的值给88的地址位置

演示图:


需求3:我要删除33这个元素,怎么办?

A:把33的地址位置的值给记录下来----temp

B:把temp给33的前一个元素即可

链表特点:查询慢,增删快(综上所述)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值