数组是数组在内存中占一段连续的存储区内存空间,那数组各个元素的指针是不是数组在内存中占一段连续的存储区内存空间(数组)?

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

采纳数:2 获赞数:5 LV2
采纳数:6 获赞数:2 LV4

数组名或者所占内存的第一个内存地址

采纳数:1 获赞数:4 LV3

数组就是一组数据的集合

其表现形式就是内存中的一段连续的内存地址

数组名称其实就是连续内存地址的首地址

2、关于js中的数组特点

数组定义时无需指定数据类型

数组定义时可以无需指定数组长度

数组可以存储任何数据类型的数据(比如说一个元素保存整型,一个元素保存字符串型,这个在JS中是可以的)

//表示语法模拟(正则对象),表示模拟RegExp类的实例(=new RegExp())

在js中,每一个数组对象都可以调用length属性,它表示数组对象下共有几个数组元素

在js中,数组不是数据类型,数组的数据类型其实就是对象

Js中的For.....in语句可以实现对一个对象的所有属性的遍历

也可以使用for...in语句实现对一个数组的所有元素的遍历

原理:数组中有几个元素,for..in语句就循环执行多少次

每次执行时,将当前数组元素的下标存放到变量i中

在js中,文本下标的数组元素,不计入数组长度

以文本下标形式添加到数组,实际是以属性形式添加到数组对象中的

遍历带有文本下标的数组:

保证一周更两篇吧,以此来督促自己好好的学习!代码的很多地方我都给予了详细的解释,帮助理解。好了,干就完了~加油!
声明:本python数据结构与算法是imooc上liuyubobobo老师java数据结构的python改写,并添加了一些自己的理解和新的东西,liuyubobobo老师真的是一位很棒的老师!超级喜欢他~
如有错误,还请小伙伴们不吝指出,一起学习~


python中不存在泛型的说法,所以大家可以向这个动态数组添加任意类型的元素,
因为底层是python的list,很方便吧~以后的数据结构中就不说明啦。
 占用一段连续的内存空间,支持随机(索引)访问,且时间复杂度为O(1),基本不用我BB了,最简单的数据结构- -
 添加元素时间复杂度:O(n)
 删除元素时间复杂度:O(n)
 
 """让我们的Arr类支持索引操作"""
 """返回数组有效元素的个数"""
 """返回当前数组的容量"""
 """判断当前数组是否为空"""
 向数组中添加一个元素,注意数组占用的是一段连续的内存空间,所以在添加元素后,
 数组还是要保证这个特点的,因此需要将后面的元素都向后挪一个位置,而且要注意要先从
 尾部开始挪,防止元素之间的覆盖
 
 
 
 获得索引index处的元素
 将索引为index的元素的值设为elem
 查看数组中是否存在元素elem,最好不要传入一个浮点数,你懂得。。
 在数组中查找元素,并返回元素所在的索引。(如果数组中存在多个elem,只返回最左边elem的索引)
 :return: 元素所在的索引,没找到则返回-1(无效值)
 找到值为elem全部元素的索引
 :return: 一个新建的数组(我们自己实现的),值为全部elem的索引
 删除索引为index的元素。index后面的元素都要向前移动一个位置
 :return: 位于该索引的元素的值
 
 
 删除数组中为elem的元素,如果数组中不存在elem,那么什么都不做。
 如果存在多个相同的elem,只删除最左边的那个
 删除数组内所有值为elem的元素,可以用递归来写,这里我用的迭代的方法。elem不存在就什么都不做
 """对数组元素进行打印"""
 
 数组容量放缩至new_capacity,私有成员函数

0

若有还可以改进、优化的地方,还请小伙伴们批评指正!

我要回帖

更多关于 数组在内存中占一段连续的存储区 的文章

 

随机推荐