Swift中的数组队列

Posted

技术标签:

【中文标题】Swift中的数组队列【英文标题】:Queue of arrays in Swift 【发布时间】:2022-01-23 00:38:50 【问题描述】:

您好,我正在学习来自 Java 的 Swift,在 Java 中我习惯于像这样初始化 Queue 的列表:

Queue<List<Integer>> queue = new LinkedList<>();

我找到了在 Swift 中创建队列数据结构的代码:

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

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

  mutating func dequeue() -> T? 
    guard !elements.isEmpty else  
      return nil
    
    return elements.removeFirst()
  

  var head: T? 
    return elements.first
  

  var tail: T? 
    return elements.last
  

我唯一的问题是是否可以有一个数组队列,我该如何初始化它?

谢谢

【问题讨论】:

Queue&lt;[Int]&gt;() 【参考方案1】:

您可能对 Apple Swift Packages swift collectionsDeque&lt;Element&gt; 类型感兴趣,其中 Element 可能是前面提到的数组。

PriorityQueue 正在进行的工作也可能是相关的。

与此同时,@Joakim 回答完成了这项工作: let queueOfIntArrays = Queue&lt;[Int]&gt;()

【讨论】:

以上是关于Swift中的数组队列的主要内容,如果未能解决你的问题,请参考以下文章

swift实现线程安全的栈和队列

求助C语言的问题"用数组实现顺序队列"

数组中的第K个最大元素 优先队列

c++如何将数组压入队列中

Swift - 分派到主队列是不是足以使 var 线程安全?

Java中的自定义数组队列