摘要: 环境 Time 2022-05-04 Rust 1.60.0 前言 说明 默认情况下,Rust 只能有一个可变引用和多个不可变引号,而 Cell 可以实现内部可变。 目标 内部可变 Cell 的方法练习。 new fn main() { let cell = Cell::new(44); print 阅读全文
posted @ 2022-07-31 21:05 jiangbo4444 阅读(144) 评论(0) 推荐(0)
摘要: 环境 Time 2022-05-04 Rust 1.60.0 前言 说明 弱引用计数 Weak 可以在不计入所有权的情况下,增加一个引用,不保证值一定存在。 目标 弱引用计数 Weak 的方法练习,如果一个值只有弱引用,则会被回收。 new fn main() { let weak: Weak<i3 阅读全文
posted @ 2022-07-31 21:04 jiangbo4444 阅读(116) 评论(0) 推荐(0)
摘要: 环境 Time 2022-05-04 Rust 1.60.0 前言 说明 在 Rust 中,由于所有权的存在,一个值只能有一个所有者,引用计数可以绕过这种限制。 目标 引用计数 Rc 的方法练习,这个引用计数是非线程安全的。如果要线程安全,需要使用 Arc。 get_mut fn main() { 阅读全文
posted @ 2022-07-31 21:03 jiangbo4444 阅读(55) 评论(0) 推荐(0)
摘要: 环境 Time 2022-05-03 Rust 1.60.0 前言 说明 在 Rust 中,由于所有权的存在,一个值只能有一个所有者,引用计数可以绕过这种限制。 目标 引用计数 Rc 的方法练习,这个引用计数是非线程安全的。如果要线程安全,需要使用 Arc。 new fn main() { let 阅读全文
posted @ 2022-07-31 21:02 jiangbo4444 阅读(64) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-26 Rust 1.60.0 前言 说明 在 Rust 中,除了引用,也可以直接使用原始指针。 目标 使用原始空指针,空指针就是指向 0 地址的一个指针。 null fn main() { let null = ptr::null::<i32>(); println! 阅读全文
posted @ 2022-07-31 21:01 jiangbo4444 阅读(418) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-26 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 B-树是一种多路搜索树,在标准库中已有相应的实现。 目标 简单使用 BTreeSet 的方法。 remove fn main() { let mut se 阅读全文
posted @ 2022-07-31 21:00 jiangbo4444 阅读(104) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-26 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 B-树是一种多路搜索树,在标准库中已有相应的实现。 目标 简单使用 BTreeSet 的方法。 union fn main() { let set1 = 阅读全文
posted @ 2022-07-31 20:59 jiangbo4444 阅读(149) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-26 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 B-树是一种多路搜索树,在标准库中已有相应的实现。 目标 简单使用 BTreeSet 的方法。 new fn main() { let mut set = 阅读全文
posted @ 2022-07-31 20:58 jiangbo4444 阅读(100) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-26 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 B-树是一种多路搜索树,在标准库中已有相应的实现。 目标 简单使用 BTreeMap 的方法。 获取值 fn main() { let mut map = 阅读全文
posted @ 2022-07-31 20:56 jiangbo4444 阅读(285) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-26 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 B-树是一种多路搜索树,在标准库中已有相应的实现。 目标 简单使用 BTreeMap 的方法。 contains_key fn main() { let 阅读全文
posted @ 2022-07-31 20:55 jiangbo4444 阅读(288) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-26 前言 说明 之前在标题的最前面,加上了【】标识,来进行内容的分类。 不过这样没有办法做到标识文章的先后顺序,有时候会将顺序弄反。 如果是一系列有前后因果关系的文章,就会导致逻辑混乱,所以决定在标题中加入编号顺序。 例如当前的这篇文章。 阅读全文
posted @ 2022-07-31 20:54 jiangbo4444 阅读(63) 评论(0) 推荐(0)
摘要: 环境 Time 2022-04-26 Rust 1.60.0 前言 说明 基于标准库来学习各种数据结构,并不是从头实现数据结构,未考虑实现性能。 B-树是一种多路搜索树,在标准库中已有相应的实现。 一般编程语言会使用二叉搜索树(BST)来实现有序 Map 和 Set,而 Rust 选择了 B-树。 阅读全文
posted @ 2022-07-31 20:54 jiangbo4444 阅读(239) 评论(0) 推荐(0)