存储特点:1、连续内存空间和相同类型的数据 2、线性表(数据之间只有前后关系)
复杂度分析:
| 插入 | 删除 | 查询 | |
| 有序数组 | O(n) | O(1),删除多个节点,先标记,空间不够,再真正删除 | 下标随机访问O(1),值查询(二分查找O(logn)) |
| 无序数组 | O(1)替换技巧 | O(1) | 下标随机访问O(1) |
其他:
java容器:可以支持动态扩展,数据的插入、删除都被隐藏
int main(int argc, char* argv[]){
int i = 0;
int arr[3] = {0};
for(; i<=3; i++){
arr[i] = 0;
printf("hello world\n");
}
return 0;
}
越界问题:a[3]会被定位到i的内存地址,a[3]=0相当于i=0循环会一直持续
博客介绍了数组的存储特点,包括连续内存空间、相同类型数据以及线性表结构。还进行了复杂度相关探讨,提及 Java 容器可动态扩展,隐藏数据插入、删除操作,同时指出数组存在越界问题,如 a[3]定位及赋值可能导致循环异常。
19万+

被折叠的 条评论
为什么被折叠?



