算法专栏-数据结构基础(数组)

数组是非常基础的数据结构,在面试中,考察数组的题目一般在思维上都不难,主要是考察对代码的掌控能力,也就是说,想法很简单,但实现起来 可能就不是那么回事了。首先要知道数组在内存中的存储方式,这样才能真正理解数组相关的面试题

数组是存放在连续内存空间上的相同类型数据的集合。

1.什么是数组?

数组是一种数据结构,它用于存储一系列相同类型的元素,并按照一定的顺序进行排列。每个元素在数组中都有一个唯一的索引,通过索引可以访问和操作数组中的元素,数组在内存怎么排列的如下图。

在使用数组时我们需要注意几点:

  • 数组的索引从0开始,而不是从1开始。
  • 数组的元素在内存中是连续存储的。
  • 在删除或增添数组元素时,需要移动其他元素的地址。

2.数组基础操作

1.增加/删除元素

增加元素

  • 若要增加一个元素,可以创建一个新的数组,并将原数组的元素复制到新数组中,同时需要添加元素的位置插入新的元素。
  • 若要在数组的末尾增加一个元素,可以先创建一个新的数组,长度比原数组多1,然后将原数组的元素复制到新数组中,最后在新数组的最后一个位置添加新的元素。

删除元素

  • 若要删除一个元素,可以创建一个新的数组,长度比原数组少1,并将原数组中不需要删除的元素复制到新数组中。
  • 若要删除数组中的特定元素,需要先找到该元素的索引,然后创建一个新的数组,长度比原数组少1,并将原数组中在该索引之前和之后的元素复制到新数组中。

例如如下数组:

我们想删除其中的元素3,也就是第二个元素,我们需要把后边的元素的位置一起变动。

2.修改数组元素

要修改数组中的元素,需要通过索引来定位到具体的元素位置,然后对该位置进行赋值操作。

如下图:

文章摘自小李刷题之路 持续更新中!!!!

#如果能重来,就业or读研你选哪个?##算法##刷题##如何判断面试是否凉了##牛客在线求职答疑中心#
全部评论
哇,小李刷题之路的文章听起来好有用呢!数组确实是数据结构的基础,掌握好了对面试帮助很大哦~那么,数组增加和删除元素的时候确实需要一些小心思呢,你有没有遇到什么特别 tricky 的情况呢?或者,有没有什么数组相关的面试题想要一起讨论的?悄悄告诉你,点击我的头像,我们可以私信聊聊更多求职小技巧哦~牛可乐在这里等你哦!🐮🎉💬
点赞 回复 分享
发布于 11-05 08:13 AI生成
老学长,日常实习的话算法题需要刷图论吗
点赞 回复 分享
发布于 11-12 00:40 北京

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务