国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Swift > 正文

Swift算法之棧和隊(duì)列的實(shí)現(xiàn)方法示例

2020-03-09 17:45:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、概述

棧和隊(duì)列在數(shù)據(jù)結(jié)構(gòu)中是比較重要的一個(gè)數(shù)據(jù)結(jié)構(gòu)。

其實(shí)對(duì)于棧和隊(duì)列并不需要太深入的介紹,棧和隊(duì)列的核心內(nèi)容是棧是先進(jìn)后出、隊(duì)列是先進(jìn)先出。在實(shí)際開(kāi)發(fā)中有些場(chǎng)景也可能會(huì)用到,比如 APP 中用戶可以撤銷(xiāo)操作,比如下棋 APP 中的悔棋操作,返回上一步就是先進(jìn)后出(后進(jìn)先出),也就是棧的特性。

比如在售票 APP 中,為先下訂單的用戶先出票,就需要用到隊(duì)列。當(dāng)然這兩個(gè)只是在簡(jiǎn)單場(chǎng)景下的情況,實(shí)際開(kāi)發(fā)中情況可能更復(fù)雜,比如售票 APP 為會(huì)員用戶優(yōu)先出票等。

swift,隊(duì)列,算法,swift數(shù)據(jù)結(jié)構(gòu)與算法

接下來(lái)就通過(guò) Swift 去實(shí)現(xiàn)棧和隊(duì)列。

二、實(shí)現(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 }} //隊(duì)列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é)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者使用swift/80335.html">swift能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)VEVB武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到swift教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 水城县| 汕尾市| 舞钢市| 田林县| 仙游县| 大安市| 遂川县| 武汉市| 辽源市| 宝兴县| 皋兰县| 古交市| 新泰市| 禹州市| 波密县| 兴安县| 蕲春县| 杭锦后旗| 鲜城| 昌江| 盐源县| 宣汉县| 新民市| 甘德县| 上栗县| 瓮安县| 通道| 武宣县| 新龙县| 安平县| 闵行区| 泸州市| 金堂县| 南平市| 呼和浩特市| 新沂市| 芦山县| 柯坪县| 荣成市| 会东县| 镇坪县|