基本的数据结构

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
        }
    }
}

上一篇 下一篇

猜你喜欢

热点阅读