当我使用下面代码:
let que1 = @priority_queue.PriorityQueue::[5, 4, 3, 2, 1]
let que2 = que1
que1.pop() |> ignore
println(que2.peek()) // Some(4)
时,que1和que2会共享一个内存。阅读core后发现PriorityQueue好像没有复制的方法。有什么方法可以复制这个数据结构吗?
当我使用下面代码:
let que1 = @priority_queue.PriorityQueue::[5, 4, 3, 2, 1]
let que2 = que1
que1.pop() |> ignore
println(que2.peek()) // Some(4)
时,que1和que2会共享一个内存。阅读core后发现PriorityQueue好像没有复制的方法。有什么方法可以复制这个数据结构吗?
如果是可变的话,可能我们需要提供一个,欢迎pr。如果是函数式的,就本身不需要了。
我们的core标准库里有immut/priority_queue,你可以试试