gpt4 book ai didi

objective-c - 如何保持数组有序

转载 作者:行者123 更新时间:2023-12-03 16:25:30 24 4
gpt4 key购买 nike

我正在重构一个涉及传递大量数组的项目。目前,每个返回数组的方法都会在返回数组之前对其进行排序。由于几个原因,这并不理想——有很多重复的代码,对数组进行两到三次排序效率低下,而且很容易编写一个新函数但在返回数组之前忘记对数组进行排序。

我正在寻找一种方法来保证数组始终按字母顺序保存。我当前的想法是子类 NSMutableArray 和/或 NSArray 来创建按字母顺序排列的数组类。我需要重写创建或修改数组的所有方法以调用 super 然后对其自身进行排序。

这听起来合理吗?还是有更好的方法?

编辑:由于已经提到了性能问题,我将包含我的项目中的相关信息。速度不是一个重要的问题。整个过程只需要几秒钟,而且该工具只是偶尔使用。所以简单性和明显的正确性更为重要。

此外,数组的用例是特定的。当返回数组时,调用者总是至少访问数组中的每个元素一次。

最佳答案

平衡二叉树是保持项目排序的标准且有效的方法。几乎任何使用普通数组进行随机访问的方法都会很慢。跳过列表也很有效,您可以将功能添加到数组类中。

关于objective-c - 如何保持数组有序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com