Swiftで使うQueueのテンプレート



SwiftのQueue

そもそもSwiftに標準でQueueは存在しないのでBFSを書きたいときに自分で定義する必要があるよう。

今後書きたいときには以下の内容を使おうと思ってメモとして取っておく。

struct Queue<T> {
    private var elements: [T] = []

    mutating func enqueue(_ value: T) {
        elements.append(value)
    }

    mutating func dequeue() -> T? {
        return elements.isEmpty ? nil : elements.removeFirst()
    }

    func isEmpty() -> Bool {
        return elements.isEmpty
    }

    var count: Int {
        return elements.count
    }
}

コメント

このブログの人気の投稿

Braveブラウザの同期機能をiPhoneで設定した話。

Braveブラウザ(iPhone,iPad)にオフラインでもYouTubeの動画が視聴可能なPlaylist機能が追加されていたので使い方をまとめてみた。

自作のChrome Extensionをインポートした時に "Invalid value for 'content_scripts[0].matches[0]': Empty path."というエラーが出たので解決した