iOS Objective-c 堆栈,windowView个人见解

先创建一个堆栈类

#import <Foundation/Foundation.h>

@interface XMStack : NSObject
///推入堆
- (void)push:(id) obj;
///推出堆
- (id)pop;
///返回顶,不删除堆内元素
- (id)top;
///堆内是否还有元素
- (BOOL) isEmpty;
///堆内元素数量
- (NSInteger) count;

@end


#import "XMStack.h"

@interface XMStack()

@property NSMutableArray *array;

@property NSInteger currentIndex;

@end

@implementation XMStack

- (instancetype)init
{
   
    self = [super init];
    if (self) {
   
        self.array = [[NSMutableArray alloc] initWithCapacity:32];
    }
    return self;
}

- (void)push:(id) obj{
   
    if (self.currentIndex >= self.array.count-1) {
   
        NSMutableArray *newArray = [[NSMutableArray alloc] initWithCapacity:self.array.count*2];
        for (id obj in self.array) {
   
            [newArray addObject:obj];
        }
        self.array = newArray;
    }
    [self.array addObject:obj];
    self.currentIndex++;
}

- (id)pop{
   
    if ([
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值