代码之家  ›  专栏  ›  技术社区  ›  Ben Packard Ross Knipe

可可中的循环链表

  •  1
  • Ben Packard Ross Knipe  · 技术社区  · 16 年前

    Cocoa中有类似于循环链表的东西吗?

    我知道NSArray已经订购了,但我认为我不能使用“nextItem”或“previousItem”,对吗?此外,我需要最后一项的下一项作为第一项。

    我可以添加自己的nextItem和previousItem方法,但如果苹果还没有实现合适的方法,我会感到惊讶。如果他们有,我就找不到。

    2 回复  |  直到 13 年前
        1
  •  3
  •   Dave DeLong    16 年前

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

        2
  •  1
  •   D.C.    16 年前

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

    @implementation NSArray (myCircularList)
    
    -(id)nextItem;
    -(id)previousItem;