#优先队列 #优先级 #队列 #键值 #排序 #集合

priority-queue-rs

优先队列比队列更专业的数据结构。像普通队列一样,优先队列有相同的方法,但有一个主要区别。在优先队列中,项目按键值排序,因此键值最低的项目位于前面,键值最高的项目位于后面或反之亦然。因此,我们根据其键值给项目分配优先级。值越低,优先级越高。以下是优先队列的主要方法。

24 个版本

0.1.26 2021 年 5 月 30 日
0.1.25 2021 年 5 月 28 日
0.1.7 2021 年 4 月 30 日

数据结构 中排名 2261

每月下载量 43

MIT 许可证

9KB
129

priority_queue

描述

优先队列比队列更专业的数据结构。像普通队列一样,优先队列有相同的方法,但有一个主要区别。在优先队列中,项目按键值排序,因此键值最低的项目位于前面,键值最高的项目位于后面或反之亦然。因此,我们根据其键值给项目分配优先级。值越低,优先级越高。以下是优先队列的主要方法。

如何使用

fn main() {
    let mut queue = PriorityQueue::new();
    for priority in 10..10000 {
        queue.push(priority, String::from(format!("HelloWorld{}", priority)));
    }

    if let Some(t) = queue.peek() {
        println!("peek {}", t);
    }

    for priority in 0..10 {
        let value = queue.pop();
        if let Some(t) = value {
            println!("pop {}", t);
        }
    }

    if let Some(t) = queue.peek() {
        println!("peek {}", t);
    }
}

许可证

此库受 MIT 许可证许可。有关详细信息,请参阅 LICENSE。

无运行时依赖项