程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Swift算法之棧和隊列的實現方法示例

Swift算法之棧和隊列的實現方法示例

編輯:更多關於編程

Swift算法之棧和隊列的實現方法示例。本站提示廣大學習愛好者:(Swift算法之棧和隊列的實現方法示例)文章只能為提供參考,不一定能成為您想要的結果。以下是Swift算法之棧和隊列的實現方法示例正文


一、概述

棧和隊列在數據結構中是比較重要的一個數據結構。

其實對於棧和隊列並不需要太深入的介紹,棧和隊列的核心內容是棧是先進後出、隊列是先進先出。在實際開發中有些場景也可能會用到,比如 APP 中用戶可以撤銷操作,比如下棋 APP 中的悔棋操作,返回上一步就是先進後出(後進先出),也就是棧的特性。

比如在售票 APP 中,為先下訂單的用戶先出票,就需要用到隊列。當然這兩個只是在簡單場景下的情況,實際開發中情況可能更復雜,比如售票 APP 為會員用戶優先出票等。

接下來就通過 Swift 去實現棧和隊列。

二、實現思路及代碼

直接上代碼:

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者使用swift能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對的支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved