您的位置:首页 > Web前端

剑指offer 数组

2017-10-24 08:50 176 查看
关于数组的几点知识:

1:数组的时间效率很高:可根据下标在O(1)时间内读写任何元素。数组空间效率较差:即使是只存储一个数据,也需要为数组分配预定大小的内存,产生一定的碎片。

2:为了解决数组的空间效率不高,C++设计了动态数组vector:先开辟一块小的内存,当数据量超过该内存的大小时,STL自动会分配一块更大的内存(一般而言,vector扩充时,新的容量都是之前的两倍)。但是STL中的内存扩充行为又有着大量的额外操作,这对vector的时间性能也有这负面的影响。因此使用动态数组要尽可能的避免内存扩充。

3:数组与指针的联系:数组的sizeof,元素个数乘以元素的大小。指针的sizeof,32位机器为4bit。当数组作为函数的参数进行传递时,会自动退化为同类型的指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息