堆栈算法介绍
堆栈是一种常见的数据结构,具有后进先出(LIFO)的特性。我们将通过Objective-C语言来实现一个简单的堆栈类,提供基本的操作功能。
堆栈类设计
创建一个Objective-C类名为Stack,继承自NSObject。通过属性声明堆栈的数据存储对象,并实现必要的操作方法。
实现方法
- 压入(push)方法:将元素添加到堆栈的顶部。
- 弹出(pop)方法:移除堆栈顶部的元素。
- 查看顶部元素(peek)方法:获取堆栈顶部的元素。
- 检查堆栈是否为空(isEmpty)方法:判断堆栈是否有元素。
代码示例
#import @interface Stack : NSObject @property (nonatomic, strong) NSMutableArray *items; - (void)push:(id)element; - (id)pop; - (id)peek; - (BOOL)isEmpty; @end @implementation Stack - (void)push:(id)element { [self.items addObject:element]; } - (id)pop { return [self.items removeObjectAtIndex:[self.items count - 1]]; } - (id)peek { return [self.items lastObject]; } - (BOOL)isEmpty { return self.items.count == 0; } @end