fn pairwise_union(&mut self) {
        let mut roots = ::std::mem::replace(&mut self.roots, Vec::new()).into_iter();
        loop {
            match (roots.next(), roots.next()) {
                (Some(fst), Some(snd)) => self.union(fst, snd),
                (Some(fst), None) => self.insert_root(fst),
                _ => return,
            }
        }
    }
/// Pairwise unifies roots in the `PairingHeap` which
/// effectively decreases the number of roots to half.
Pairwise unifies roots in the `PairingHeap` which
effectively decreases the number of roots to half.
Pairwise unifies roots in the ` PairingHeap ` which effectively decreases the number of roots to half .
fn pairwise_union(&mut self) {
        let mut roots = ::std::mem::replace(&mut self.roots, Vec::new()).into_iter();
        loop {
            match (roots.next(), roots.next()) {
                (Some(fst), Some(snd)) => self.union(fst, snd),
                (Some(fst), None) => self.insert_root(fst),
                _ => return,
            }
        }
    }
fn pairwise_union ( & mut self ) { let mut roots = :: std :: mem :: replace ( & mut self . roots , Vec :: new ( ) ) . into_iter ( ) ; loop { match ( roots . next ( ) , roots . next ( ) ) { ( Some ( fst ) , Some ( snd ) ) => self . union ( fst , snd ) , ( Some ( fst ) , None ) => self . insert_root ( fst ) , _ => return , } } }
Pairwise unifies roots in the `PairingHeap` which
effectively decreases the number of roots to half.
Pairwise unifies roots in the ` PairingHeap ` which effectively decreases the number of roots to half .
&mut self
&mut self