036_swift_数组模拟堆栈

import UIKit
//先进后出为栈、可以理解为一叠碗
class Stack{
    //任意类型数组
    var stack: [AnyObject]
    init(){
//        对数组初始化
        stack=[AnyObject]()
    }
//    判断是否为空
    func isEmpty()->Bool{
        return stack.isEmpty
    }
//    获取堆栈的大小
    func size() -> Int{
        return stack.count
    }
//   用来往堆栈中添加一个新的元素,新的元素将被追加到数组的尾部
    func push(object:AnyObject){
        stack.append(object)
    }
// 从堆栈中移除一个元素,并返回被移除的元素
    func pop()->AnyObject?{
        if(isEmpty()){
            return nil
        }
        else{
            return stack.removeLast()
        }
    }
}

var stack=Stack()
stack.isEmpty()
stack.push(object: UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0))
stack.push(object: UIColor(red: 0.0, green: 1.0, blue: 1.0, alpha: 1.0))
stack.pop()
//先进先出。可以理解为排队登机  先排队 先登机
class Queue{
    var queue:[AnyObject]
    init(){
        queue=[AnyObject]()
    }
    //    判断是否为空
        func isEmpty()->Bool{
            return queue.isEmpty
        }
    //    获取堆栈的大小
        func size() -> Int{
            return queue.count
        }
    //   用来往堆栈中添加一个新的元素,新的元素将被追加到数组的尾部
        func push(object:AnyObject){
            queue.append(object)
        }
    // 从堆栈中移除一个元素,并返回被移除的元素
    func pop()->AnyObject?{
        if(isEmpty()){
            return nil
        }
        else{
            return queue.removeFirst()
        }
    }
}


var queue=Queue()
queue.isEmpty()
queue.push(object: UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0))
queue.push(object: UIColor(red: 0.0, green: 1.0, blue: 1.0, alpha: 1.0))
queue.pop()

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/105953483
今日推荐