一、数组
数组,采用该结构的集合,对元素的存取有如下特点:
可以快速查找元素:通过索引,可以快速的访问指定位置的元素。
曾删元素慢,每次添加元素需要移动大量的元素或和创建新的数组。
数据的特点:
数组的长度一旦定义就不可变;
数组中的元素都有整数索引;
数组的元素只能存储同一类型的元素;
数组既可以存储基本数据类型,又可以存储引用数据类型。
数组:int[] arr = {5,6,7,8};
如何获取元素7?
可以通过索引arr[2];
在元素7后面添加一个新的元素88,?
可以先创建一个新的数组,长度是原来数组长度+1;
遍历原来的数组,并且插入新的数组中;
判断当碰到元素7时,在元素7后面添加新的元素88;
最后把剩余的元素添加到元素88的后面。
查找快,曾删慢
二、链表
链表,采用该结构的集合,对元素的存取有如下的特点:
A:多个节点之间,通过地址进行连接。例如,多个人手拉手,每个人使用自己的右手拉住下个人的左手,依次 类推,这样多个人就连在一起了。
B:查找元素慢:想查找某个元素,需要通过连接的节点,依次向后查找指定元素
C:增删元素快:
增加元素:只需要修改连接下个元素的地址即可。
删除元素:只需要修改连接下个元素的地址即可
查找慢,曾删快
三、栈&队列
A:堆栈,采用该结构的集合,对元素的存取有如下的特点:
先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。例如,子弹压进弹 夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的 子弹。
B:队列,采用该结构的集合,对元素的存取有如下的特点:
先进先出(即,存进去的元素,要在后它前面的元素依次取出后,才能取出该元素)。例如,安检。排成一 列,每个人依次检查,只有前面的人全部检查完毕后,才能排到当前的人进行检查。