Hello 算法 1.2.0 简体中文 Rust 版1. 将扑克牌划分为“有序”和“无序”两部分,并假设初始状态下最左 1 张扑克牌已经有序。 2. 在无序部分抽出一张扑克牌,插入至有序部分的正确位置;完成后最左 2 张扑克已经有序。 3. 不断循环步骤 2. ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 迭代(iteration)是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段 代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration.rs === /* for 循环 */ fn for_loop(n: i32) -> i32 { let mut res = 0; // 循环求和 1, 2, ..., n-1, n for i in 1..=n { res += i; } res } 第 2 章 复杂度分析0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.1.0 Rust版1. 将扑克牌划分为“有序”和“无序”两部分,并假设初始状态下最左 1 张扑克牌已经有序。 2. 在无序部分抽出一张扑克牌,插入至有序部分的正确位置;完成后最左 2 张扑克已经有序。 3. 不断循环步骤 2. ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 迭代(iteration)是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段 代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration.rs === /* for 循环 */ fn for_loop(n: i32) -> i32 { let mut res = 0; // 循环求和 1, 2, ..., n-1, n for i in 1..=n { res += i; } res } 图 2‑1 是该求和函数的流程框图。0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.0.0 Rust版1. 将扑克牌划分为“有序”和“无序”两部分,并假设初始状态下最左 1 张扑克牌已经有序。 2. 在无序部分抽出一张扑克牌,插入至有序部分的正确位置;完成后最左 2 张扑克已经有序。 3. 不断循环步骤 2. ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 iteration」是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某 段代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration.rs === /* for 循环 */ fn for_loop(n: i32) -> i32 { let mut res = 0; // 循环求和 1, 2, ..., n-1, n for i in 1..=n { res += i; } res } 第 2 章 复杂度分析0 码力 | 383 页 | 17.61 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 13.4. 性能比较:循环对迭代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 15.6. 引用循环会导致内存泄漏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76。多运行程序几次, 输入不同的数字来检验不同的行为:猜一个正确的数字,猜一个过大的数字和猜一个过小的数 字。 现在游戏已经大体上能玩了,不过用户只能猜一次。增加一个循环来改变它吧! 使用循环来允许多次猜测 loop 关键字创建了一个无限循环。我们会增加循环来给用户更多机会猜数字: 文件名:src/main.rs // --snip-- println!("The secret number0 码力 | 562 页 | 3.23 MB | 25 天前3
Rust 程序设计语言简体中文版................................................................................... 335 13.4. 性能比较:循环对迭代器 ........................................................................................... 347 与内部可变性模式 ................................................................................... 393 15.6. 引用循环会导致内存泄漏 ........................................................................................... 76。多运行程序几次, 输入不同的数字来检验不同的行为:猜一个正确的数字,猜一个过大的数字和猜一个过小的数 字。 现在游戏已经大体上能玩了,不过用户只能猜一次。增加一个循环来改变它吧! 使用循环来允许多次猜测 loop 关键字创建了一个无限循环。我们会增加循环来给用户更多机会猜数字: 文件名:src/main.rs # use rand::Rng; # use std::cmp::Ordering; # use0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 语言学习笔记..................................... 18 2.3 循环表达式 ................................................................................. 19 2.3.1 for 循环 ............................................... .............................. 19 2.3.2 while 循环 .......................................................................... 19 2.3.3 loop .......................................................... 并发和内存控制。尽管 Rust 借用了 C 和 C++ 的语法,它不允许空指针和悬 挂指针,二者是 C 和 C++ 中系统崩溃、内存泄露和不安全代码的根源。 Rust 中有诸如 if else 和循环语句 for 和 while 的通用控制结构。和 C 和 C++ 风格的编程语言一样,代码段放在花括号中。 Rust 使用实现(implementation)、特征(trait)和结构化类型 (structured0 码力 | 117 页 | 2.24 MB | 1 年前3
Comprehensive Rust(简体中文) 202412控制流基础 29 6.1 if 表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.2 循环控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.2.1 for . . . 基本语法:变量、标量(scalar)和复合(compound)类型、枚举(Enum)、结构体(struct)、引 用、函数和方法。 • Types and type inference. • 控制流结构:循环、条件语句等。 • 用户定义的类型:结构体和枚举。 • 模式匹配:解构枚举、结构体和数组(array)。 时间表 Including 10 minute breaks, this session 部分 控制流基础 This segment should take about 40 minutes. It contains: Slide Duration if 表达式 4 minutes 循环控制 5 minutes break 和 continue 4 minutes 代码块和作用域 5 minutes 函数 3 minutes 宏 2 minutes 练习:考拉兹序列 15 minutes0 码力 | 359 页 | 1.33 MB | 10 月前3
Rust算法教程 The Algos (algorithms)<= 1 { return; } let size = arr.len(); for i in 0..(size - 1) { // 标记当前循环是否发⽣元素交换 let mut swapped = false; // 最后i个元素已经排好了顺序 for j in 1..(size - i) { arr.swap(j - 1, j); swapped = true; } } // 如果当前循环没有发⽣元素交换,说明数组已经有序 if !swapped { break; } } } #[cfg(test)] mod tests len(); // 构建⼤根堆 for i in (0..size / 2).rev() { heapify(arr, i, size); } // 每轮循环将堆顶元素(也就是最⼤元素)放到最后 for i in (1..size).rev() { arr.swap(0, i); // 恢复⼤根堆 heapify(arr0 码力 | 270 页 | 8.46 MB | 1 年前3
应用 waPC (rust) 做软件测试工具ng); reg.insert(“response_marshalling”.into(),response_marsh alling); } 自动化 HTTP 请求例子 自动化测试以循环方式执行 • Request 用了 http1x • foo_index! 里取 _i • 在 response_marshalling 里 foo_assert_eq!() fn request(_msg: get("data").unwrap_or(&mut NULL),&json!("hi"),"data is hi"); Ok(msg.to_vec()) } 自动化 HTTP 请求例子 自动化测试以循环方式执行 测验报告 HTML/ JSON 报告 Wasm Mock Server • 模拟数据规则 • 自动化测试 • 模拟数据规则 • 自动化测试 Some of its’ Host call0 码力 | 30 页 | 2.50 MB | 1 年前3
CeresDB Rust 生产实践 任春韶spends a long time without reaching an .await will prevent other tasks from running. 生产实践 – Future 循环 Run Return https://rust-lang.github.io/async-book/04_pinning/01_chapter.html#why-pinning https://doc0 码力 | 22 页 | 6.95 MB | 1 年前3
共 12 条
- 1
- 2













