有没有办法在objective c中创建链表?我是个新手,到目前为止,我在苹果开发人员指南中研究过,链表没有任何预定义的函数。双链表是否与objective-c中的链表相同?
请帮帮忙。
发布于 2012-09-12 10:00:39
首先要记住的是,Objective-C是C,它也是更多的。
下一件事是对象作为(本质上)指针传递(编译器知道指针指向对象)。
因此,您当然可以创建和管理自己的链表,并且可以使用结构或对象来实现。对于对象(也许是首选),只需在类中为"next“对象创建一个@property,然后随意使用它。同样,对于双向链表,为previous设置一个@property。
也许在Objective-C中反对关注喜欢的列表的最好的理由之一是,通常你手头有Cocoa框架,并且有如此丰富的特性,我们过去必须用链表来实现我们自己。例如,概念上简单的NSMutableArray或NSDictionary就是构建良好的组件的一个很好的例子,通常可以省去我们对链表的需要。更进一步,核心数据,等等。
一个简单的抽象链接列表类可能如下所示:
@interface LinkedNode : NSObject
@property (nonatomic, strong) id nextNode;
@end然后,您可以按照预期使用它:
id currentNode = myFirstNode;
do {
[currentNode someMessage];
}
while(currentNode = currentNode.nextNode);请记住,这并不比使用structs更“好”。对于“更好”的业务,转移到Cocoa类,并在“更高的级别”实现。
发布于 2015-12-07 18:08:53
请检查我在objective C中实现的一些常见数据结构,如链表、堆栈、二进制搜索树。https://github.com/udaypatial/Data-Structures-in-Objective-C
https://stackoverflow.com/questions/12380209
复制相似问题