【study】rust学习-1
【study】Rust学习 day1
已经简单看了看语法,边通过刷题边熟悉语法以及数据结构的用法。
1. 键值对的使用
1.1 导入类型
1 | |
HashMap 和 BTreeMap 由名字可以看出底层实现。
| HashMap | BTreeMap | |
|---|---|---|
| 底层实现 | 哈希表 | 平衡二叉树 |
| CRUD复杂度 | O(1) | O($\log n$) |
| 是否有序 | 有序 | 乱序 |
1.2 使用
1. 两数之和,以leetcode这道题为例
1 | |
map后序要进行插入操作,所以要是可变变量判断一个值是否在
map的value中。执行顺序如下,先map.get(&(key)),如果有值,则传给value并通过Some(&value)解引用。否则为None1
2
3if let Some(&value) = map.get(&(key)) {
}Vec的索引类型是usize,所以在第8行需要进行类型转换。map[&key]也可以取值的,但是如果key不存在则会panic
【study】rust学习-1
https://promisewang.github.io/post/bb4b8715.html