2 u011338675 u011338675 于 2014.11.01 10:40 提问

object-c栈用数组来实现

最近看到斯坦福大学iOS开发视频里面说到一个知识,在oc中,当我门想建立一个栈的时候,不用去使用多个数组来自己构成栈,其实每个数组的结构本来就是栈,这个说法对吗?

3个回答

reylen
reylen   2014.12.09 08:57

栈 遵循的是先进后出,也就是先加入的对象是放置在下面的,后来的在上面;
而数组也是类似的,数组添加对象也是有顺序的,在iOS SDK 里面很多地方就是用数组来作为栈存放对象,例如 UINavigationController ,push方法压入栈,
pop方法出栈,就是用数组实现的

cao517566879
cao517566879   2015.06.25 14:24

栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

数组可以代实现栈的功能,但是栈不能实现数组的功能。

用包含的关系来说:数组包含栈

打个比方:栈是数组的父类,数组是栈的子类.

Leexianke
Leexianke   2015.09.10 23:56

栈是一种思想了,斯坦福课程只是说数组可能也是栈实现的,这个涉及到苹果的语言设计,我们只能看到封装好的外部

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!