4。数组_

什么是数组

数组是是数据结构的一种,他是由线性表装有相同类型的一组数据 ,他是一种连续的内存空间

线性表:有方向的,只有前后两个方向

image-20211223094846268

非线性表:不同方向的数据结构,没有前后关系!image-20211223094924619

数组中的计算机寻址

Array[i] = Base_address + i*Typeleng

效率中的O()表达的意思

在数据 中查找 数据 的速度可以分为0(级别),

O(1),表示我通过1次运算就可以直接得到我想要的,这个效率为最快,称为01,一般来说我们通过数组的下标来查询数据的位置,得到数据 这种就属于0(1)级别的

0(n)表示 我通过几次运算才能得出我相要的就称为O几

0(log)当数据扩大到256倍时,以二分法为例,我只需要查询 256的对数就能找到相应的结果 ,这个就称为0(log)级别

为什么大多数编程中,数组都从0开始编号呢

1方便:方便寻址:想找到一个数组中的元素地址时,公式为Array[i] = Base_address + iTypeleng,如果以1为初始值时,那么:Array[i] = Base_address + i-1Typeleng,

那这样cpu就会多操作一个指令

2方便,在最初的c语言中,都是设计为0为下标,后来为了c语言的程序员能更好的学习java等其他语言,所以其他语言延用了c的习惯

字符数组和字符串有区别

在Java中字符 数组 不等于字符 串

char[] 字符数组

String 字符串

数组内存

image-20211223095002493

数组遍历

image-20211223095028039

前者可以很好的取得下标

后者直接取出 元素

数组工具类的方法

Arrays.toString();

image-20211226173058665

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值