可可中的循环链表

时间:2010-01-17 01:20:00

标签: arrays cocoa data-structures circular-list

Cocoa中是否有与循环链表相似的内容?

我知道NSArray是有序的 - 但我认为我不能使用'nextItem'或'previousItem' - 对吗?此外,我需要将最后一项的nextItem作为第一项。

我可以添加自己的nextItem和previousItem方法,但是如果Apple没有实现适合的东西,我会很惊讶。如果他们有,我找不到它。

2 个答案:

答案 0 :(得分:3)

虽然您当然可以使用类别将行为添加到NSArray(如@darren建议的那样),但实际上您可能需要一个真正的循环缓冲区。如果是这种情况,请查看CHDataStructures框架。除CHCircularBufferStack外,还有CHCircularBufferQueueCHCircularBufferDeque

答案 1 :(得分:1)

我不知道任何这样的循环列表数据结构。你有关手动实现它的想法似乎是一个好主意。我会使用一个类别:

@implementation NSArray (myCircularList)

-(id)nextItem;
-(id)previousItem;