remove Primes::pop

This commit is contained in:
Dr. Matthias Ratajczak
2022-08-19 19:39:43 +02:00
parent f70f6f152c
commit 7c3a1a76d1
+1 -21
View File
@@ -46,7 +46,7 @@ where
set.insert(prime);
}
}
vector.reverse(); // so that self.pop removes the smallest prime
debug_assert_eq!(number_of_primes, vector.len());
Primes { vector, set }
}
@@ -97,14 +97,6 @@ where
self.vector.is_empty()
}
pub fn pop(&mut self) -> Option<T> {
let result = self.vector.pop();
if let Some(value) = result {
self.set.remove(&value);
}
result
}
pub fn contains(&self, val: &T) -> bool {
self.set.contains(val)
}
@@ -137,18 +129,6 @@ mod test {
assert!(!primes.contains(&7));
}
#[test]
fn test_pop() {
let mut primes = Primes::get_between(10, 20);
assert_eq!(primes.len(), 4);
assert!(primes.contains(&19));
primes.pop();
assert_eq!(primes.len(), 3);
assert!(!primes.contains(&11));
}
#[test]
fn test_example_2() {
let primes = Primes::get_between(2, 100_000);