iOS中的栈| OC使用数组(NSMutableArray)来模拟栈

本文详细介绍了在Objective-C中如何使用NSMutableArray模拟栈,包括栈的概念、特点(先进后出),以及栈的三个基本操作:压栈、出栈和取栈顶。通过实例展示了如何创建栈和执行栈操作。
摘要由CSDN通过智能技术生成

栈(Stack)是一种线性数据结构,在OC代码里,栈的写法有点复杂,我们可以使用数组NSMutableArray来模拟学习栈

栈的特点

先进后出 (后进先出)

栈有两个概念:

1.栈顶

2.栈底

栈的三个基本操作

1.进栈(压栈):push              对应的NSMutableArray写法为:addObject:

2.出栈: pop                        对应的NSMutableArray写法为:removeObject:

3.取栈顶:getTop               对应的NSMutableArray写法为:lastObject:

下面是代码:

1.创建一个栈(数组)

NSMutableArray * stackArray = [[NSMutableArray alloc]init];

NSMutableArray * stackArray = [[NSMutableArray alloc]init];

2.进栈(压栈)

[stackArray addObject:@"A"]

[stackArray addObject:@"A"]

3.出栈

[stackArray removeObject:@"B"];

[stackArray removeObject:@"B"];

4.取栈顶,并移除栈顶

id obj = [stackArray lastObject];

 [stackArray removeObject:obj];

 id obj = [stackArray lastObject];
 [stackArray removeObject:obj];

以上是使用OC的NSMutableArray 来理解栈, 有兴趣的同学也可以真正创建Stack来玩玩.

可以参考这篇文章:iOS--栈和队列_ios 队列什么结构-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值