数组:存储同一种类型的多个元素的容器,有索引,方便我们的获取
定义一个数组:
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的前一个元素即可
链表特点:查询慢,增删快(综上所述)