C++实现动态数组功能
数组是一种线性表数据结构。它用一组连续内存空间,来存储一组具有相同数据类型数据。更重要的是,在这之后看源码就可大大降低难度。考虑到扩容时数据搬移可能会发生的内存泄露,博主这里采用两只手的原则,即设定一个内存标志位 ItemsFlag 。当 ItemsFlag = 0,using preitems;当 ItemsFlag = 1,using items。下文扩容部分有具体实现。检查要操作的下标是否在数组容量范围内。查找某值的下标时,要考虑到该值在数组中是否重复,所以博主用了一个结构体 findArrIndex 来存储该值重复的次数和对应的下标。添加数据操作时需判断数组容量是否足够,若不够需考虑扩容。好啦,基本上就这么多了。最后总结一下,多看源码还是很重要的。
下载地址
用户评论