Objective-C实现栈(附完整源码)
发布日期:2025-04-26 06:09:40 浏览次数:7 分类:精选文章

本文共 1051 字,大约阅读时间需要 3 分钟。

Objective-C实现栈(Stack)类

下面是一个简单的 Objective-C 实现的栈类。这个栈类支持基本的操作,包括入栈(push)、出栈(pop)、查看栈顶元素(peek)以及检查栈是否为空(isEmpty)。

类结构

首先,我们需要创建一个 Stack 类,继承自 NSObject。为了实现栈的功能,我们可以使用 NSMutableArray 来存储栈的元素。具体实现如下:

@interface Stack : NSObject @property (nonatomic, strong) NSMutableArray *elements; @end

类方法实现

接下来,我们实现类中的各个方法:

  • 入栈(push)

这个方法用于将元素添加到栈的顶部。实现方法如下:

  • (void)push:(id)element { [self.elements addObject:element]; }

  • 出栈(pop)

这个方法用于从栈顶部移除一个元素。如果栈为空,可能会引发错误,因此在使用该方法之前应检查栈是否为空。

  • (id)pop { return [self.elements removeLastObject]; }

  • 查看栈顶元素(peek)

这个方法用于查看栈顶部的元素,不会修改栈的内容。

  • (id)peek { return [self.elements lastObject]; }

  • 检查栈是否为空(isEmpty)

这个方法用于判断栈是否为空,可以通过检查元素数组的数量是否为零来实现。

  • (bool)isEmpty { return [self.elements count] == 0; }

使用示例

以下是一个使用栈类的示例代码:

Stack *stack = [[Stack alloc] init]; [stack push:@"A"]; [stack push:@"B"]; [stack push:@"C"]; NSLog(@"栈顶部元素:%@,栈是否为空:%d", [stack peek], [stack isEmpty]);

输出结果:

栈顶部元素:C,栈是否为空:0

总结

通过上述实现,可以清晰地看到 Objective-C 中如何利用基础集合类(如 NSMutableArray)来实现栈的功能。这个栈类不仅支持基本的入栈和出栈操作,还支持查看栈顶元素和检查栈是否为空等功能。在实际开发中,可以根据需求扩展栈类的功能,例如支持栈的大小限制、元素的过滤等。

上一篇:Objective-C实现样条插值(附完整源码)
下一篇:Objective-C实现栅栏密码算法(附完整源码)

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年04月17日 22时25分54秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章