mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-25 11:13:38 +08:00
build
This commit is contained in:
@ -1343,13 +1343,15 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
|
||||
|
||||
/* 基于数组实现的哈希表 */
|
||||
pub struct ArrayHashMap {
|
||||
buckets: Vec<Option<Pair>>
|
||||
buckets: Vec<Option<Pair>>,
|
||||
}
|
||||
|
||||
impl ArrayHashMap {
|
||||
pub fn new() -> ArrayHashMap {
|
||||
// 初始化数组,包含 100 个桶
|
||||
Self { buckets: vec![None; 100] }
|
||||
Self {
|
||||
buckets: vec![None; 100],
|
||||
}
|
||||
}
|
||||
|
||||
/* 哈希函数 */
|
||||
@ -1381,17 +1383,26 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
|
||||
|
||||
/* 获取所有键值对 */
|
||||
pub fn entry_set(&self) -> Vec<&Pair> {
|
||||
self.buckets.iter().filter_map(|pair| pair.as_ref()).collect()
|
||||
self.buckets
|
||||
.iter()
|
||||
.filter_map(|pair| pair.as_ref())
|
||||
.collect()
|
||||
}
|
||||
|
||||
/* 获取所有键 */
|
||||
pub fn key_set(&self) -> Vec<&i32> {
|
||||
self.buckets.iter().filter_map(|pair| pair.as_ref().map(|pair| &pair.key)).collect()
|
||||
self.buckets
|
||||
.iter()
|
||||
.filter_map(|pair| pair.as_ref().map(|pair| &pair.key))
|
||||
.collect()
|
||||
}
|
||||
|
||||
/* 获取所有值 */
|
||||
pub fn value_set(&self) -> Vec<&String> {
|
||||
self.buckets.iter().filter_map(|pair| pair.as_ref().map(|pair| &pair.val)).collect()
|
||||
self.buckets
|
||||
.iter()
|
||||
.filter_map(|pair| pair.as_ref().map(|pair| &pair.val))
|
||||
.collect()
|
||||
}
|
||||
|
||||
/* 打印哈希表 */
|
||||
|
Reference in New Issue
Block a user