栈(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博客