基本的数据结构
2018-12-28 本文已影响10人
玉米地里种玉米
1、数组
数组是基本的数据。在swift中以前的OC时代中的NSArray和NSMutableArray分开的做法被统一到了唯一的数据结构Array。
虽然看起来就一种数据结构,其实他的实现是有三种:
a、ContiguousArray<Element>:效率最高元素分配在连续的元素上,如果数组是值类型(栈上操作),则swift会调用这种实现。如果注重效率,则推荐声明成这种类型,尤其在大量数据是类的时候。这样做效果会更好。
b、Array<Element> 会自动桥接到OC上的NSArray,如果是值类型则其类型和ContiguousArray无差别
c、ArraySlice<Element> 他不是一个新的数组,只是一个片段,在内存上和原数组享用同一片区域。
class Stack {
var stack: [AnyObject]
var isEmpty: Bool { return stack.isEmpty }
var peek: AnyObject? { return stack.last }
init() {
stack = [AnyObject]()
}
func push(object:AnyObject) {
stack.append(object)
}
func pop() -> AnyObject? {
if !isEmpty {
return stack.removeLast()
}else{
return nil
}
}
}