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

2022-09-20 19:39:08 字數 827 閱讀 2242

一、概述

棧和佇列在資料結構中是比較重要的乙個資料結構。

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

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

接下來就通過 swift 去實現棧和佇列。

二、實現思路及**

直接上**:

//棧class stack

func push(object: anyobject)

func pop() -> www.cppcns.comanyobject? else }

func isempty() -> bool

func peek() -> anyobjecqqkepyjulqt?

func size() -> int }

//佇列

class queue

func enqueue(object: anyobject)

func dequeue() -> anyobject? else }

func isempty() -> bool

func peek() -> anyobject?

func size() -> int }總結

本文標題: swift演算法之棧和佇列的實現方法示例

本文位址: /ruanjian/swift/183746.html

棧和佇列之鏈棧的基本實現

將鏈棧的頭部作為棧頂就很方便了,而且不必設定頭結點,每次插入都是將結點設定為棧頂元素,每次刪除都是將棧頂元素刪除。具體實現如下 建立乙個空鏈棧 void initlinkstack linkstack s 與其他鍊錶不一樣的是,這裡不需要建立乙個頭結點 入棧 void push linkstack ...

棧和佇列的手動實現 用棧實現佇列 用佇列實現棧

1 用陣列結構實現大小固定的棧和佇列 1 棧 public static class arraystack arr new integer initsize size 0 public integer peek 返回棧頂元素但並不讓元素出棧 return arr size 1 public void...

棧和佇列演算法

1 實現乙個棧,要求實現push 出棧 pop 入棧 min 返回最小值 的時間 複雜度為o 1 方法1 使用乙個棧實現,交叉棧 pragma once include define max value 100 typedef struct minstackminstack 實現乙個棧,要求實現pu...