Hello 算法 1.1.0 Rust版1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.3 二叉树数组表示 . . 195 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 9.3 图的遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.4 小结 . . . 。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration.rs === /* for 循环 */ fn for_loop(n: i32) -> i32 {0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.0.0 Rust版1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 7.3 二叉树数组表示 . . 194 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 9.3 图的遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.4 小结 . . . 。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration.rs === /* for 循环 */ fn for_loop(n: i32) -> i32 {0 码力 | 383 页 | 17.61 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Rust 版1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.3 二叉树数组表示 . . 195 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 9.3 图的遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 9.4 小结 . . . 。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration.rs === /* for 循环 */ fn for_loop(n: i32) -> i32 {0 码力 | 387 页 | 18.51 MB | 10 月前3
 Rust 程序设计语言 简体中文版 1.85.0while 循环运行代码 这种结构消除了很多使用 loop、if、else 和 break 时所必须的嵌套,这样更加清晰。当条件 为 true 就执行,否则退出循环。 使用 for 遍历集合 可以使用 while 结构来遍历集合中的元素,比如数组。例如,示例 3-4 中的循环会打印数组 a 中的每一个元素。 文件名:src/main.rs fn main() { let a = [10, 5 { println!("the value is: {}", a[index]); index += 1; } } 示例 3-4:使用 while 循环遍历集合中的每一个元素 这里,代码对数组中的元素进行计数。它从索引 0 开始,并接着循环直到遇到数组的最后一个 索引(这时,index < 5 不再为 true)。运行这段代码会打印出数组中的每一个元素: println!("the value is: {element}"); } } 示例 3-5:使用 for 循环遍历集合中的元素 当运行这段代码时,将看到与示例 3-4 一样的输出。更为重要的是,我们增强了代码安全性, 并消除了可能由于超出数组的结尾或遍历长度不够而缺少一些元素而导致的 bug。 例如,在示例 3-4 的代码中,如果你将 a 数组的定义改为有四个元素,但忘记将条件更新为0 码力 | 562 页 | 3.23 MB | 29 天前3
 Rust 程序设计语言简体中文版循环运行代码 这种结构消除了很多使用 loop 、if 、else 和 break 时所必须的嵌套,这样更加清晰。当条 件为 true 就执行,否则退出循环。 使用 for 遍历集合 可以使用 while 结构来遍历集合中的元素,比如数组。例如,看看示例 3-4。 文件名:src/main.rs fn main() { let a = [10, 20, 30, 40, 50]; 简体中文版 println!("the value is: {}", a[index]); index += 1; } } 示例 3-4:使用 while 循环遍历集合中的元素 这里,代码对数组中的元素进行计数。它从索引 0 开始,并接着循环直到遇到数组的最后一 个索引(这时,index < 5 不再为真)。运行这段代码会打印出数组中的每一个元素: $ println!("the value is: {element}"); } } 示例 3-5:使用 for 循环遍历集合中的元素 当运行这段代码时,将看到与示例 3-4 一样的输出。更为重要的是,我们增强了代码安全性, 并消除了可能由于超出数组的结尾或遍历长度不够而缺少一些元素而导致的 bug。 例如,在示例 3-4 的代码中,如果你将 a 数组的定义改为有四个元素,但忘记将条件更新为0 码力 | 600 页 | 12.99 MB | 1 年前3
 Rust 语言学习笔记2.3.1 for 循环 Rust 的 for 循环实际上和 C 语言的循环语句是不同的。这是为什么呢?因为, for 循环不过是 Rust 编译器提供的语法糖!在 rust 中,for 语句用于遍历一 个迭代器。 Rust 迭代器返回一系列的元素,每个元素是循环中的一次重复。然后它的值与 var 绑定,它在循环体中有效。每当循环体执行完后,我们从迭代器中取出下 一个值,然后我们再重复一遍。当迭代器中不再有值时,for // same pointer gadget_onwer2.gadgets.borrow_mut().push(Rc::downgrade(&gadget2)); // 遍历 gadget_owner 的 gadgets 字段 for gadget_opt in gadget_owner.gadgets.borrow().iter() { received in rx { println!("Got: {}", received); } } 这一次,在新建线程中有一个字符串 vector 希望发送到主线程。我们遍历他 们,单独的发送每一个字符串并通过一个 Duration 值调用 thread::sleep 函 数来暂停一秒。 在主线程中,不再显式调用 recv 函数:而是将 rx 当作一个迭代器。对 于0 码力 | 117 页 | 2.24 MB | 1 年前3
 Rust语言核心竞争力-庄晓立nonnull %0, i8 66, i64 32, i32 1, i1 false) ret void } http://is.gd/oJ2XcT // Lazy iteration / 懒惰遍历 Iterator #[derive(Debug)] struct MyData { inner: [u8; 32], } struct IterMut<'a>(...); impl<'a>0 码力 | 51 页 | 1.09 MB | 1 年前3
 Rust算法教程 The Algos (algorithms)也很重要,学习算法往往能提升我们对于代 码的深层次理解和认识,你会知道为何要优化代码,该如何优化代码,甚⾄在真的需要你⼿撸算法 时,⼼中也有⼀个明确的思路:我该选择哪个算法,⽽不是⼀⽚茫然,只知道⽤遍历的⽅式来完成 任务。 所以现在开始我们的算法之旅吧, 本章重点呈现各种常⽤算法的Rust实现,⼤部分章节都会链接 ⼀篇讲解该算法的⽂章。 Rust 语⾔学习 如果⼤家熟悉算法,但是对于 Rust 中的第⼀个 单词abandon哈哈哈),但是这道题⽤Rust来写也并不是那么简单,尤其是对于Rust新⼿,相信 看完这道题你对Rust中的⼀些⼩细节会有更深的理解。 解法⼀ 简单粗暴,双重循环,遍历所有的⼆元组直到找到符合题⽬要求的结果。 解法⼆ 我们观察解法⼀中第⼆个for循环: 我们换种⽅式思考: impl Solution { pub fn two_sum(nums: Vec0 码力 | 270 页 | 8.46 MB | 1 年前3
 Hello 算法 1.2.0 繁体中文 Rust 版tree AVL 树 AVL 樹 red‑black tree 红黑树 紅黑樹 level‑order traversal 层序遍历 層序走訪 breadth‑first traversal 广度优先遍历 廣度優先走訪 depth‑first traversal 深度优先遍历 深度優先走訪 binary search tree 二叉搜索树 二元搜尋樹 balanced binary search0 码力 | 388 页 | 18.82 MB | 10 月前3
 Comprehensive Rust(简体中文) 202412循环运作的特征。此特征由集合类型(例如 Vec)和相关引用 (例如&Vec 和&[T])而实现。此外,范围也会实现这项特征。因此,您可以使用 for i in some_vec { .. } 来遍历某矢量,但 some_vec.next() 不存在。 25.2 IntoIterator The Iterator trait tells you how to iterate once you 0 码力 | 359 页 | 1.33 MB | 10 月前3
共 10 条
- 1
 













