数组缩容问题

来源:2-9 均摊复杂度和防止复杂度的震荡

诚i

2018-05-09

我模拟了出现数组大小为 0 的情况,发现只有当数组初始化大小为 1,然后进行添加和删除操作,才会出现数组容量为0。

那么我是否可以在构造函数中添加判断,如果 capacity < 2,直接抛出异常提示 capacity 最小为 2,来避免缩容时出现数组大小为 0 的情况。

缩容判断为 size == data.length / 4 的模拟:

  • //img.mukewang.com/szimg/5af2980d0001a97306810367.jpg

  • //img.mukewang.com/szimg/5af2989c0001da3506720294.jpg

写回答

1回答

liuyubobobo

2018-05-09

赞!


逻辑上可以。但是设计上我认为不够合理。因为从用户的角度,1是一个合理的容积值。不过这是一个设计问题,你可以选择在自己的项目中使用自己认为最合适的方式:)

0
1
诚i
非常感谢!
2018-05-09
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程