优先队列 - Priority Queue

优先队列是一种数据结构,允许你插入带有优先级的元素,然后弹出具有最高优先级的元素。 它是一种非常有用的数据结构,广泛应用于许多算法和应用程序中。优先队列非常适合保持项目的排序并快速找到具有最高优先级的项目。 在 Move 中,可以为每个条目创建具有自定义优先级的优先队列。比较函数可能会在 Move 的后续版本中添加。

创建一个新的优先队列:

let h = priority_queue::new(create_entries(vector[3,1,4,2,5,2], vector[10, 20, 30, 40, 50, 60]));

元素的类型可以从创建的条目中推断出来。

插入一个新的条目:

priority_queue::insert(&mut h, 7, 70);

弹出具有最高优先级的条目:

let (priority, value) = priority_queue::pop_max(&mut h);

目前,优先级队列不允许更改现有条目的优先级或值,也不允许删除任意条目。这些功能可能会在Sui Move的后续版本中添加。