Skip to content

Commit 3af7865

Browse files
author
Naupio Z.Y. Huang
committed
update priority-queue (#290)
1 parent 9bdb713 commit 3af7865

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

data-structure/priority_queue.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
# 33-03-data-struct-priority_queue
1+
# 优先队列
22

3-
tags: RustPrimer
4-
5-
----------------
3+
## 简介
64
普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (largest-in,first-out)的行为特征。
75

86
>优先队列是0个或多个元素的集合,每个元素都有一个优先权或值,对优先队列执行的操作有:
@@ -11,7 +9,7 @@ tags: RustPrimer
119
3) 删除。
1210
在最小优先队列(min priority queue)中,查找操作用来搜索优先权最小的元素,删除操作用来删除该元素;对于最大优先队列(max priority queue),查找操作用来搜索优先权最大的元素,删除操作用来删除该元素。优先权队列中的元素可以有相同的优先权,查找与删除操作可根据任意优先权进行。
1311

14-
下面是优先队列的实现
12+
## 优先队列的实现
1513

1614
首先定义 PriorityQueue 结构体
1715
```rust
@@ -22,7 +20,7 @@ struct PriorityQueue<T> where T: PartialOrd + Clone {
2220
```
2321
第二行的`where T: PartialOrd + Clone`指的是 PriorityQueue 存储的泛型 T 是满足 `PartialOrd``Clone` trait 约束的,意味着泛型 T 是可排序和克隆的。
2422

25-
后面是一下基本的方法实现,比较简单,就直接看代码吧。
23+
后面是一些基本的方法实现,比较简单,就直接看代码吧。
2624
```rust
2725
impl<T> PriorityQueue<T> where T: PartialOrd + Clone {
2826
fn new() -> PriorityQueue<T> {
@@ -87,7 +85,7 @@ impl<T> PriorityQueue<T> where T: PartialOrd + Clone {
8785
}
8886
```
8987

90-
下面是测试代码
88+
## 测试代码
9189
```rust
9290
fn test_keep_min() {
9391
let mut pq = PriorityQueue::new();

0 commit comments

Comments
 (0)