@@ -272,15 +272,16 @@ impl<T: Ord> BinaryHeap<T> {
272
272
/// use std::collections::BinaryHeap;
273
273
///
274
274
/// let mut heap = BinaryHeap::new();
275
- /// assert_eq!(heap.top (), None);
275
+ /// assert_eq!(heap.peek (), None);
276
276
///
277
277
/// heap.push(1i);
278
278
/// heap.push(5i);
279
279
/// heap.push(2i);
280
- /// assert_eq!(heap.top (), Some(&5i));
280
+ /// assert_eq!(heap.peek (), Some(&5i));
281
281
///
282
282
/// ```
283
- pub fn top ( & self ) -> Option < & T > {
283
+ #[ stable]
284
+ pub fn peek ( & self ) -> Option < & T > {
284
285
self . data . get ( 0 )
285
286
}
286
287
@@ -388,7 +389,7 @@ impl<T: Ord> BinaryHeap<T> {
388
389
/// heap.push(1i);
389
390
///
390
391
/// assert_eq!(heap.len(), 3);
391
- /// assert_eq!(heap.top (), Some(&5i));
392
+ /// assert_eq!(heap.peek (), Some(&5i));
392
393
/// ```
393
394
#[ unstable = "matches collection reform specification, waiting for dust to settle" ]
394
395
pub fn push ( & mut self , item : T ) {
@@ -412,7 +413,7 @@ impl<T: Ord> BinaryHeap<T> {
412
413
/// assert_eq!(heap.push_pop(3i), 5);
413
414
/// assert_eq!(heap.push_pop(9i), 9);
414
415
/// assert_eq!(heap.len(), 2);
415
- /// assert_eq!(heap.top (), Some(&3i));
416
+ /// assert_eq!(heap.peek (), Some(&3i));
416
417
/// ```
417
418
pub fn push_pop ( & mut self , mut item : T ) -> T {
418
419
match self . data . get_mut ( 0 ) {
@@ -442,7 +443,7 @@ impl<T: Ord> BinaryHeap<T> {
442
443
/// assert_eq!(heap.replace(1i), None);
443
444
/// assert_eq!(heap.replace(3i), Some(1i));
444
445
/// assert_eq!(heap.len(), 1);
445
- /// assert_eq!(heap.top (), Some(&3i));
446
+ /// assert_eq!(heap.peek (), Some(&3i));
446
447
/// ```
447
448
pub fn replace ( & mut self , mut item : T ) -> Option < T > {
448
449
if !self . is_empty ( ) {
@@ -714,13 +715,13 @@ mod tests {
714
715
}
715
716
716
717
#[ test]
717
- fn test_top_and_pop ( ) {
718
+ fn test_peek_and_pop ( ) {
718
719
let data = vec ! ( 2 u, 4 , 6 , 2 , 1 , 8 , 10 , 3 , 5 , 7 , 0 , 9 , 1 ) ;
719
720
let mut sorted = data. clone ( ) ;
720
721
sorted. sort ( ) ;
721
722
let mut heap = BinaryHeap :: from_vec ( data) ;
722
723
while !heap. is_empty ( ) {
723
- assert_eq ! ( heap. top ( ) . unwrap( ) , sorted. last( ) . unwrap( ) ) ;
724
+ assert_eq ! ( heap. peek ( ) . unwrap( ) , sorted. last( ) . unwrap( ) ) ;
724
725
assert_eq ! ( heap. pop( ) . unwrap( ) , sorted. pop( ) . unwrap( ) ) ;
725
726
}
726
727
}
@@ -729,44 +730,44 @@ mod tests {
729
730
fn test_push ( ) {
730
731
let mut heap = BinaryHeap :: from_vec ( vec ! ( 2 i, 4 , 9 ) ) ;
731
732
assert_eq ! ( heap. len( ) , 3 ) ;
732
- assert ! ( * heap. top ( ) . unwrap( ) == 9 ) ;
733
+ assert ! ( * heap. peek ( ) . unwrap( ) == 9 ) ;
733
734
heap. push ( 11 ) ;
734
735
assert_eq ! ( heap. len( ) , 4 ) ;
735
- assert ! ( * heap. top ( ) . unwrap( ) == 11 ) ;
736
+ assert ! ( * heap. peek ( ) . unwrap( ) == 11 ) ;
736
737
heap. push ( 5 ) ;
737
738
assert_eq ! ( heap. len( ) , 5 ) ;
738
- assert ! ( * heap. top ( ) . unwrap( ) == 11 ) ;
739
+ assert ! ( * heap. peek ( ) . unwrap( ) == 11 ) ;
739
740
heap. push ( 27 ) ;
740
741
assert_eq ! ( heap. len( ) , 6 ) ;
741
- assert ! ( * heap. top ( ) . unwrap( ) == 27 ) ;
742
+ assert ! ( * heap. peek ( ) . unwrap( ) == 27 ) ;
742
743
heap. push ( 3 ) ;
743
744
assert_eq ! ( heap. len( ) , 7 ) ;
744
- assert ! ( * heap. top ( ) . unwrap( ) == 27 ) ;
745
+ assert ! ( * heap. peek ( ) . unwrap( ) == 27 ) ;
745
746
heap. push ( 103 ) ;
746
747
assert_eq ! ( heap. len( ) , 8 ) ;
747
- assert ! ( * heap. top ( ) . unwrap( ) == 103 ) ;
748
+ assert ! ( * heap. peek ( ) . unwrap( ) == 103 ) ;
748
749
}
749
750
750
751
#[ test]
751
752
fn test_push_unique ( ) {
752
753
let mut heap = BinaryHeap :: from_vec ( vec ! ( box 2 i, box 4 , box 9 ) ) ;
753
754
assert_eq ! ( heap. len( ) , 3 ) ;
754
- assert ! ( * heap. top ( ) . unwrap( ) == box 9 ) ;
755
+ assert ! ( * heap. peek ( ) . unwrap( ) == box 9 ) ;
755
756
heap. push ( box 11 ) ;
756
757
assert_eq ! ( heap. len( ) , 4 ) ;
757
- assert ! ( * heap. top ( ) . unwrap( ) == box 11 ) ;
758
+ assert ! ( * heap. peek ( ) . unwrap( ) == box 11 ) ;
758
759
heap. push ( box 5 ) ;
759
760
assert_eq ! ( heap. len( ) , 5 ) ;
760
- assert ! ( * heap. top ( ) . unwrap( ) == box 11 ) ;
761
+ assert ! ( * heap. peek ( ) . unwrap( ) == box 11 ) ;
761
762
heap. push ( box 27 ) ;
762
763
assert_eq ! ( heap. len( ) , 6 ) ;
763
- assert ! ( * heap. top ( ) . unwrap( ) == box 27 ) ;
764
+ assert ! ( * heap. peek ( ) . unwrap( ) == box 27 ) ;
764
765
heap. push ( box 3 ) ;
765
766
assert_eq ! ( heap. len( ) , 7 ) ;
766
- assert ! ( * heap. top ( ) . unwrap( ) == box 27 ) ;
767
+ assert ! ( * heap. peek ( ) . unwrap( ) == box 27 ) ;
767
768
heap. push ( box 103 ) ;
768
769
assert_eq ! ( heap. len( ) , 8 ) ;
769
- assert ! ( * heap. top ( ) . unwrap( ) == box 103 ) ;
770
+ assert ! ( * heap. peek ( ) . unwrap( ) == box 103 ) ;
770
771
}
771
772
772
773
#[ test]
@@ -831,9 +832,9 @@ mod tests {
831
832
}
832
833
833
834
#[ test]
834
- fn test_empty_top ( ) {
835
+ fn test_empty_peek ( ) {
835
836
let empty = BinaryHeap :: < int > :: new ( ) ;
836
- assert ! ( empty. top ( ) . is_none( ) ) ;
837
+ assert ! ( empty. peek ( ) . is_none( ) ) ;
837
838
}
838
839
839
840
#[ test]
0 commit comments