当前位置:网站首页>优化是一种习惯●出发点是'站在靠近临界'的地方

优化是一种习惯●出发点是'站在靠近临界'的地方

2022-08-10 20:31:00 1一乐


1、举例:数组的动态插入、删除

  • 站在临界值的角度考虑

    这个临界值,不一定是最后一个元素


  • 删除某个元素:

第一种做法:取到最大值:i=size-1时,表达式为:elements[size-2]=elements[size-1]

第二种做法:取到最大值:i=size-1时,表达式为:elements[size-1]=elements[size] 明显不符合设计了,例如当前数组有size个元素,那么最后一个元素应该是 elements[size-1]

其实越界也是思考角度,站在被覆盖角度的话,那么临界的最后一个被覆盖元素,是当前数组的倒数第二个元素 elements[size-2] 呀

第二种做法:应该修改一下循环判断条件才正确:for(int i = index; i < size-1; i++)

第一种做法:是站在覆盖者角度,也站在了靠近'临界值'(靠近最后一个元素)的角度,不容易出错,推荐



  • 添加某个元素:

在添加元素这里:做法1和做法2都没有问题,不过建议,

统一习惯:出发点是"站在靠近临界"的地方

原网站

版权声明
本文为[1一乐]所创,转载请带上原文链接,感谢
https://mdnice.com/writing/d2c36174a4234af1bfa9a85566f42ca0