一、概述
棧和隊列在數(shù)據(jù)結(jié)構(gòu)中是比較重要的一個數(shù)據(jù)結(jié)構(gòu)。
其實對于棧和隊列并不需要太深入的介紹,棧和隊列的核心內(nèi)容是棧是先進后出、隊列是先進先出。在實際開發(fā)中有些場景也可能會用到,比如 APP 中用戶可以撤銷操作,比如下棋 APP 中的悔棋操作,返回上一步就是先進后出(后進先出),也就是棧的特性。
比如在售票 APP 中,為先下訂單的用戶先出票,就需要用到隊列。當(dāng)然這兩個只是在簡單場景下的情況,實際開發(fā)中情況可能更復(fù)雜,比如售票 APP 為會員用戶優(yōu)先出票等。

接下來就通過 Swift 去實現(xiàn)棧和隊列。
二、實現(xiàn)思路及代碼
直接上代碼:
//棧class Stack { var stack: [AnyObject] init() { stack = [AnyObject]() } func push(object: AnyObject) { 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 }} //隊列class Queue { var queue: [AnyObject] init() { queue = [AnyObject]() } func enqueue(object: AnyObject) { 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 } }總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者使用swift/80335.html">swift能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點
疑難解答
圖片精選