算法专栏-数据结构基础(数组)
数组是非常基础的数据结构,在面试中,考察数组的题目一般在思维上都不难,主要是考察对代码的掌控能力,也就是说,想法很简单,但实现起来 可能就不是那么回事了。首先要知道数组在内存中的存储方式,这样才能真正理解数组相关的面试题
数组是存放在连续内存空间上的相同类型数据的集合。
1.什么是数组?
数组是一种数据结构,它用于存储一系列相同类型的元素,并按照一定的顺序进行排列。每个元素在数组中都有一个唯一的索引,通过索引可以访问和操作数组中的元素,数组在内存怎么排列的如下图。
在使用数组时我们需要注意几点:
- 数组的索引从0开始,而不是从1开始。
- 数组的元素在内存中是连续存储的。
- 在删除或增添数组元素时,需要移动其他元素的地址。
2.数组基础操作
1.增加/删除元素
增加元素:
- 若要增加一个元素,可以创建一个新的数组,并将原数组的元素复制到新数组中,同时需要添加元素的位置插入新的元素。
- 若要在数组的末尾增加一个元素,可以先创建一个新的数组,长度比原数组多1,然后将原数组的元素复制到新数组中,最后在新数组的最后一个位置添加新的元素。
删除元素:
- 若要删除一个元素,可以创建一个新的数组,长度比原数组少1,并将原数组中不需要删除的元素复制到新数组中。
- 若要删除数组中的特定元素,需要先找到该元素的索引,然后创建一个新的数组,长度比原数组少1,并将原数组中在该索引之前和之后的元素复制到新数组中。
例如如下数组:
我们想删除其中的元素3,也就是第二个元素,我们需要把后边的元素的位置一起变动。
2.修改数组元素
要修改数组中的元素,需要通过索引来定位到具体的元素位置,然后对该位置进行赋值操作。
如下图:
文章摘自小李刷题之路 持续更新中!!!!
#如果能重来,就业or读研你选哪个?##算法##刷题##如何判断面试是否凉了##牛客在线求职答疑中心#