File tree Expand file tree Collapse file tree 2 files changed +7
-11
lines changed Expand file tree Collapse file tree 2 files changed +7
-11
lines changed Original file line number Diff line number Diff line change 2
2
refs/heads/master: 09bb07bed9166105ea961a42b5fff7739ae0d2e9
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
5
- refs/heads/try: 285496bd550817094c31167e7e49378a35560842
5
+ refs/heads/try: 8b13bf75306d7b5645531a0eb273b9ce9805e009
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: a810c03263670238bccd64cabb12a23a46e3a278
Original file line number Diff line number Diff line change @@ -38,13 +38,9 @@ impl <T: Copy Ord> PriorityQueue<T> {
38
38
39
39
/// Pop the greatest item from the queue - fails if empty
40
40
fn pop ( & mut self ) -> T {
41
- let last = self . data . pop ( ) ;
42
- if self . is_not_empty ( ) {
43
- let ret = self . data [ 0 ] ;
44
- self . data [ 0 ] = last;
45
- self . siftup ( 0 ) ;
46
- ret
47
- } else { last }
41
+ let mut item = self . data . pop ( ) ;
42
+ if self . is_not_empty ( ) { item <-> self . data [ 0 ] ; self . siftup ( 0 ) ; }
43
+ item
48
44
}
49
45
50
46
/// Pop the greatest item from the queue - None if empty
@@ -70,10 +66,10 @@ impl <T: Copy Ord> PriorityQueue<T> {
70
66
71
67
/// Optimized version of a pop followed by a push - fails if empty
72
68
fn replace ( & mut self , item : T ) -> T {
73
- let ret = self . data [ 0 ] ;
74
- self . data [ 0 ] = item ;
69
+ let mut item = item ;
70
+ item <-> self . data [ 0 ] ;
75
71
self . siftup ( 0 ) ;
76
- ret
72
+ item
77
73
}
78
74
79
75
/// Consume the PriorityQueue and return the underlying vector
You can’t perform that action at this time.
0 commit comments