1
我需要重新组织一个NSMutableArray ...例如我的数组包含值1,2,3,4,5。 最后我需要一个数组的值(像5,1,2,3,4那样排序)。最后一个值总是先到达。重新组织NSMutableArray
我该如何做到这一点。
由于
我需要重新组织一个NSMutableArray ...例如我的数组包含值1,2,3,4,5。 最后我需要一个数组的值(像5,1,2,3,4那样排序)。最后一个值总是先到达。重新组织NSMutableArray
我该如何做到这一点。
由于
id anObject = [[theArray lastObject] retain];
[theArray removeLastObject];
[theArray insertObject:anObject atIndex:0];
[anObject release];
(这将运行在O(N)。实际上,从来就没有办法比O(N)用于阵列更快,虽然NSArray的可以被组织为一个双端队列当阵列在上面的代码中你可以得到O(1),这是一个不应该依赖的实现细节。)
@Rob Napier-我认为NSArray根据数组大小使用不同的存储空间。不过,我看了一段时间。 – sbooth 2011-06-16 20:23:42
这比O(N)快得多。我认为它是O(1),但它可能是O(log N)(它可以取决于数组的大小,根据大小获取不同的方式)。 NSMutableArray没有在传统数组内部实现。 – 2011-06-16 20:23:54
@sbooth,是的;我把我的大脑置于如何实施的过程中,删除了我原来的评论。它肯定会在某个时候重新构建自己(在Mac上我记得有成千上万)。 – 2011-06-16 20:24:51