June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,16 +1,19 @@
|
|||
use std::vec::Vec;
|
||||
use std::collections::HashSet;
|
||||
use std::hash::Hash;
|
||||
use std::cmp::Eq;
|
||||
|
||||
fn main(){
|
||||
let mut sample_elements = vec![0u8,0,1,1,2,3,2];
|
||||
println!("Before removal of duplicates : {:?}", sample_elements);
|
||||
remove_duplicate_elements(&mut sample_elements);
|
||||
println!("After removal of duplicates : {:?}", sample_elements);
|
||||
}
|
||||
|
||||
fn remove_duplicate_elements<T : Hash + Eq>(elements: &mut Vec<T>){
|
||||
let set : HashSet<_> = elements.drain(..).collect();
|
||||
fn remove_duplicate_elements_hashing<T: Hash + Eq>(elements: &mut Vec<T>) {
|
||||
let set: HashSet<_> = elements.drain(..).collect();
|
||||
elements.extend(set.into_iter());
|
||||
}
|
||||
|
||||
fn remove_duplicate_elements_sorting<T: Ord>(elements: &mut Vec<T>) {
|
||||
elements.sort_unstable(); // order does not matter
|
||||
elements.dedup();
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut sample_elements = vec![0, 0, 1, 1, 2, 3, 2];
|
||||
println!("Before removal of duplicates : {:?}", sample_elements);
|
||||
remove_duplicate_elements_sorting(&mut sample_elements);
|
||||
println!("After removal of duplicates : {:?}", sample_elements);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue