本仓库是ZJU短学期Rust课程的第三次课的作业,包含三个子任务,分别是
-
使用宏实现一个哈希表,底层调用系统库的
std::colloction::HashMap
-
实现一个堆栈,底层使用Vec,完成堆栈的基础功能
-
实现一个MyRc,类似标准库中的Rc
项目的文件结构如下:
其中在src
文件夹中三个文件中顾名思义,包含三个不同的实现,在main.rs
中包含一个空的main
函数和三个实现对应的测试代码。
对课件中的hash_map做了一些改进,像Rust
中struct的定义中的一样,可以可选的选择最后一个项中是否使用都好,原实现中必须有逗号,不够优雅
现在允许用法:
let my_map = hash_map!{
"key1" => "value1",
"key2" => "value2",
};
同时允许:
let my_map = hash_map!{
"key1" => "value1",
"key2" => "value2"
};
测试通过
代码无警告
乞求助教给给高分qwq