首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在objective c中创建链表

在objective c中创建链表
EN

Stack Overflow用户
提问于 2012-09-12 09:50:34
回答 2查看 4.6K关注 0票数 3

有没有办法在objective c中创建链表?我是个新手,到目前为止,我在苹果开发人员指南中研究过,链表没有任何预定义的函数。双链表是否与objective-c中的链表相同?

请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2012-09-12 10:00:39

首先要记住的是,Objective-C是C,它也是更多的。

下一件事是对象作为(本质上)指针传递(编译器知道指针指向对象)。

因此,您当然可以创建和管理自己的链表,并且可以使用结构或对象来实现。对于对象(也许是首选),只需在类中为"next“对象创建一个@property,然后随意使用它。同样,对于双向链表,为previous设置一个@property

也许在Objective-C中反对关注喜欢的列表的最好的理由之一是,通常你手头有Cocoa框架,并且有如此丰富的特性,我们过去必须用链表来实现我们自己。例如,概念上简单的NSMutableArray或NSDictionary就是构建良好的组件的一个很好的例子,通常可以省去我们对链表的需要。更进一步,核心数据,等等。

一个简单的抽象链接列表类可能如下所示:

代码语言:javascript
复制
@interface LinkedNode : NSObject 
  @property (nonatomic, strong) id nextNode;
@end

然后,您可以按照预期使用它:

代码语言:javascript
复制
id currentNode = myFirstNode;
do {
  [currentNode someMessage];
}
while(currentNode = currentNode.nextNode);

请记住,这并不比使用structs更“好”。对于“更好”的业务,转移到Cocoa类,并在“更高的级别”实现。

票数 3
EN

Stack Overflow用户

发布于 2015-12-07 18:08:53

请检查我在objective C中实现的一些常见数据结构,如链表、堆栈、二进制搜索树。https://github.com/udaypatial/Data-Structures-in-Objective-C

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12380209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档