美文网首页
Swift中的栈和队列

Swift中的栈和队列

作者: Isy | 来源:发表于2016-07-31 13:43 被阅读6次
    //栈是后进先出的结构
    //栈结构的类
    //支持push,pop,isEmpty,peek,size
    class Stack {
        var stack: [AnyoBject]
        
        init() {
            stack = [AnyoBject]()
        }
    
        func push(object: AnyObject) -> Bool {
            return stack.append(object)
        }
    
        func pop() -> AnyObject? {
            if !isEmpty() {
                return stack.removeLast()
            } else {
                return nil
            }
        }
    
        func isEmpty() -> Bool {
            return stack.isEmpty
        }
    
        func peek() -> AnyObject? {
            return stack.last
        }
    
        func size() -> Int {
            return stack.count
        }
    }
    
    //队列是先进先出的类
    //应用GCD,NSOperationQueue
    //enqueue,dequeue,isEmpty,peek,size
    class Queue {
        var queue: [AnyObject]
        
        init() {
            queue = [AnyObject]()
        }
    
        func enqueue(object: AnyObject) -> Bool {
            return queue.append(object)
        }
        
        func dequeue() -> AnyObject? {
            if !isEmpty() {
                return queue.removeFirst()
            } else {
                return nil
    
            }
        }
        
        func isEmpty() -> Bool {
            return queue.isEmpty
        }
        
        func peek() -> AnyObject? {
            return queue.first
        }
    
        func size() -> Int {
            return queue.count
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:Swift中的栈和队列

          本文链接:https://www.haomeiwen.com/subject/mmotsttx.html