Hello 算法 1.1.0 Rust版5.2 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.3 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4 小结 . . 中,任意节点都可以视作头节点。 ‧ 双向链表:与单向链表相比,双向链表记录了两个方向的引用。双向链表的节点定义同时包含指向后继 节点(下一个节点)和前驱节点(上一个节点)的引用(指针)。相较于单向链表,双向链表更具灵活 性,可以朝两个方向遍历链表,但相应地也需要占用更多的内存空间。 use std::rc::Rc; use std::cell::RefCell; /* 双向链表节点类型 */ #[derive(Debug)] 个元素都代 表与该顶点相连的其他顶点。 双向链表常用于需要快速查找前一个和后一个元素的场景。 ‧ 高级数据结构:比如在红黑树、B 树中,我们需要访问节点的父节点,这可以通过在节点中保存一个指 向父节点的引用来实现,类似于双向链表。 ‧ 浏览器历史:在网页浏览器中,当用户点击前进或后退按钮时,浏览器需要知道用户访问过的前一个和 后一个网页。双向链表的特性使得这种操作变得简单。 ‧ LRU0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Rust 版5.2 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.3 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4 小结 . . 中,任意节点都可以视作头节点。 ‧ 双向链表:与单向链表相比,双向链表记录了两个方向的引用。双向链表的节点定义同时包含指向后继 节点(下一个节点)和前驱节点(上一个节点)的引用(指针)。相较于单向链表,双向链表更具灵活 性,可以朝两个方向遍历链表,但相应地也需要占用更多的内存空间。 use std::rc::Rc; use std::cell::RefCell; /* 双向链表节点类型 */ #[derive(Debug)] 个元素都代 表与该顶点相连的其他顶点。 双向链表常用于需要快速查找前一个和后一个元素的场景。 ‧ 高级数据结构:比如在红黑树、B 树中,我们需要访问节点的父节点,这可以通过在节点中保存一个指 向父节点的引用来实现,类似于双向链表。 ‧ 浏览器历史:在网页浏览器中,当用户点击前进或后退按钮时,浏览器需要知道用户访问过的前一个和 后一个网页。双向链表的特性使得这种操作变得简单。 ‧ LRU0 码力 | 387 页 | 18.51 MB | 10 月前3
 Hello 算法 1.0.0 Rust版5.2 队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.3 双向队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4 小结 . . 中,任意节点都可以视作头节点。 ‧ 双向链表:与单向链表相比,双向链表记录了两个方向的引用。双向链表的节点定义同时包含指向后继 节点(下一个节点)和前驱节点(上一个节点)的引用(指针)。相较于单向链表,双向链表更具灵活 性,可以朝两个方向遍历链表,但相应地也需要占用更多的内存空间。 use std::rc::Rc; use std::cell::RefCell; /* 双向链表节点类型 */ #[derive(Debug)] 个元素都代 表与该顶点相连的其他顶点。 双向链表常用于需要快速查找前一个和后一个元素的场景。 ‧ 高级数据结构:比如在红黑树、B 树中,我们需要访问节点的父节点,这可以通过在节点中保存一个指 向父节点的引用来实现,类似于双向链表。 ‧ 浏览器历史:在网页浏览器中,当用户点击前进或后退按钮时,浏览器需要知道用户访问过的前一个和 后一个网页。双向链表的特性使得这种操作变得简单。 ‧ LRU0 码力 | 383 页 | 17.61 MB | 1 年前3
 Rust 程序设计语言 简体中文版 1.85.0你输入密码。如果安装成功,将会出现如下内容: Rust is installed now. Great! 另外,你还需要一个 链接器(linker),它是 Rust 用来将其编译的输出链接成一个文件的程 序。很可能你已经有一个了。如果你遇到了链接器错误,请尝试安装一个 C 编译器,它通常包 括一个链接器。C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,因此需要安装一 个 C 编译器。 在 macOS Windows 上,前往 https://www.rust-lang.org/install.html 并按照说明安装 Rust。在安 装过程的某个步骤,你会被提示要安装 Visual Studio。它提供了一个链接器和编译程序所需 的原生库。如果你在此步骤需要更多帮助,请访问 https://rust-lang.github.io/rustup/ installation/windows-msvc.html。 let s = s1 + "-" + &s2 + "-" + &s3; 这时 s 的内容会是 tic-tac-toe。在有这么多 + 和 " 字符的情况下,很难理解具体发生了什 么。对于更为复杂的字符串链接,可以使用 format! 宏: let s1 = String::from("tic"); let s2 = String::from("tac"); let s3 =0 码力 | 562 页 | 3.23 MB | 1 月前3
 Rust 程序设计语言简体中文版示你输入密码。如果安装成功,将会出现如下内容: Rust is installed now. Great! 另外,你还需要一个 链接器(linker),这是 Rust 用来将其编译的输出连接到一个文件中的 程序。很可能你已经有一个了。如果你遇到了链接器错误,请尝试安装一个 C 编译器,它通常 包括一个链接器。C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,因此需要安装 一个 C 编译器。 在 macOS + "-" + &s2 + "-" + &s3; # } 这时 s 的内容会是 “tic-tac-toe”。在有这么多 + 和 " 字符的情况下,很难理解具体发生了什 么。对于更为复杂的字符串链接,可以使用 format! 宏: # fn main() { let s1 = String::from("tic"); let s2 = String::from("tac"); 程序设计语言 简体中文版 # } } 示例 14-5:增加 pub use 语句重导出项 现在此 crate 由 cargo doc 生成的 API 文档会在首页列出重导出的项以及其链接,如图 14-4 所示,这使得 PrimaryColor 和 SecondaryColor 类型和 mix 函数更易于查找。 图 14-10:art 文档的首页,这里列出了重导出的项 art0 码力 | 600 页 | 12.99 MB | 1 年前3
 基于静态分析的Rust内存安全缺陷检测研究bob只读借用Box对象, alice临时失去修改权, 保留只读权 alice可读 bob自动归还Box对象, alice恢复修改权 如果需要违背XOR Mutability怎么办? ❑ 以双向链表为例,中间节点被前后两个节点访用 ❑ Rust为了提升可用性所做的妥协 ▪ 智能指针(性能损失) ▪ 允许使用裸指针(unsafe模式) • 逃逸编译器的借用检查 => 指针别名 next0 码力 | 28 页 | 1.55 MB | 1 年前3
 Rust 语言学习笔记相关内容。 理性看待 rust 语言的升级。只是升级频度高一些,这样的升级在 java 和 go 中 也普遍存在。go 中的感知稍微小一些。 每次升级都要更新相应的工具链。保证最新的编译器和链接器可以将新生成的 程序生成出来。 Rust 的包管理系统非常明显地体现了它的与众不同。 1.3 版本管理工具 作为一门更新快速的语言,rust 开发了专用的版本管理工具 rustup。 编译为可执行文件; o "lib" - 编译为库; o "dylib" - 编译为动态链接库; o "staticlib" - 编译为静态链接库; o "rlib" - 编译为 Rust 特有的库文件,它是一种特殊的静态链接库格式,它里 面会含有一些元数据供编译器使用,最终会静态链接到目标文件之中。 例#![crate_type = "dylib"]。  feature 版的编译器中使用。  no_builtins - 去掉内建函数。  no_main- 不生成 main 这个符号,当你需要链接的库中已经定义了 main 函数时 会用到。  no_start - 不链接自带的 native 库。  no_std - 不链接自带的 std 库。  plugin - 加载编译器插件,一般用于加载自定义的编译器插件库。 5.1.2.2 应用于函数的属性0 码力 | 117 页 | 2.24 MB | 1 年前3
 Comprehensive Rust(简体中文) 202412习题 317 62.1 哲学家就餐问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 62.2 多线程链接检查器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 62.3 并发编程:上午练习 . . . . . 在授课之前,你需要完成以下事项: 1. 熟悉课程资料。页面提供了演讲者注释以突出重点(请帮忙多多贡献演讲者备注!)。演讲时,请确保 在弹出窗口中打开演讲者笔记(点击“演讲者笔记”旁边带小箭头的链接)。这样就可以确保屏幕整洁 有序,更好地向全班学员展示课程内容。 2. 决定培训日期。由于课程为期四天,建议将时间安排在两周内。课程学员曾表示,他们认为在课程保 留一些间隙有助于更好地进行理解。 @jooyunghan, and @namhyung. • 西班牙语版本译者:@deavid。 使用右上角的语言选择器切换语言。 未完成的翻译 还有很多语言版本仍在翻译中。以下是最近更新的翻译版本的链接: • 孟加拉语版本译者:@raselmandol。 • 法语版本译者:@KookaS 和@vcaen。 15 • 德语版本译者:@Throvn 和@ronaldfw。 • 日语版本译者:@CoinEZ-JPN0 码力 | 359 页 | 1.33 MB | 10 月前3
 刘用涛 CnosDB时序数据库的Rust实践-{abi} 2. Rust编译工具链 rustup target add $target, --target=$rustc_target 3. 配置链接器 -C linker=$gcc_prefix-gcc 指示rustc采用的C链接器程序 cross 提供了 “零设置” 的交叉编译 rust crate 它提供了一个环境、交叉工具链和交叉编译库,可以生成最便携的二进制文件0 码力 | 26 页 | 3.28 MB | 1 年前3
 应用 waPC (rust) 做软件测试工具模拟数据 • 发 RPC 请求 • 可以上传 proto 文档 • 可以验证数据 前段链接 Wasm Mock Server 随机 waPC 注册逻辑 Use wasm without fear 支持以 websocket 代替 wasm 协议 • 不可能为每个 websocket 链接编程新的 wasm • 流氓做法 (fork) - waPC guest rust 可 改编成让0 码力 | 30 页 | 2.50 MB | 1 年前3
共 17 条
- 1
 - 2
 













