 Comprehensive Rust(繁体中文)23.5 資料結構中的生命週期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 23.6 練習:Protobuf 剖析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 23.6.1 解決方案 . . . . . . . . . Slices: &[T] 10 minutes 迷途參照 10 minutes 函式呼叫中的生命週期 10 minutes 生命週期 5 minutes 生命週期 5 minutes 練習:Protobuf 剖析 30 minutes 23.1 切片 切片能讓您查看更大的集合: fn main() { let mut a: [i32; 6] = [10, 20, 30, 40, 50, 60]; println 述參照之間的生命週期關係,就可能有必要擁有多個生命週期註解。那些是相當進階的用途。 23.6 練習:Protobuf 剖析 在本練習中,您將建構 protobuf 二進位編碼的剖析器。請放心,這比看起來容易!這個練習也會舉例說 明常見的剖析模式,也就是傳遞資料切片。基礎資料本身一律不會複製。 如要完整剖析 protobuf 訊息,您必須瞭解欄位型別,這會依欄位編號建立索引,通常位於 proto 檔案 內。在0 码力 | 358 页 | 1.41 MB | 10 月前3 Comprehensive Rust(繁体中文)23.5 資料結構中的生命週期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 23.6 練習:Protobuf 剖析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 23.6.1 解決方案 . . . . . . . . . Slices: &[T] 10 minutes 迷途參照 10 minutes 函式呼叫中的生命週期 10 minutes 生命週期 5 minutes 生命週期 5 minutes 練習:Protobuf 剖析 30 minutes 23.1 切片 切片能讓您查看更大的集合: fn main() { let mut a: [i32; 6] = [10, 20, 30, 40, 50, 60]; println 述參照之間的生命週期關係,就可能有必要擁有多個生命週期註解。那些是相當進階的用途。 23.6 練習:Protobuf 剖析 在本練習中,您將建構 protobuf 二進位編碼的剖析器。請放心,這比看起來容易!這個練習也會舉例說 明常見的剖析模式,也就是傳遞資料切片。基礎資料本身一律不會複製。 如要完整剖析 protobuf 訊息,您必須瞭解欄位型別,這會依欄位編號建立索引,通常位於 proto 檔案 內。在0 码力 | 358 页 | 1.41 MB | 10 月前3
 快快樂樂學會 Angular 2 網站開發框架component.css'] }) export class AppComponent { title = 'app works!'; } 18 Angular 2 結構剖析 19 Angular 2 結構剖析 • Module 應用程式被切分成許多「模組」 • Component 每個模組下有許多「元件」 • Template 每個元件都可能有自己的「樣板」 • Metadata0 码力 | 38 页 | 1.12 MB | 1 年前3 快快樂樂學會 Angular 2 網站開發框架component.css'] }) export class AppComponent { title = 'app works!'; } 18 Angular 2 結構剖析 19 Angular 2 結構剖析 • Module 應用程式被切分成許多「模組」 • Component 每個模組下有許多「元件」 • Template 每個元件都可能有自己的「樣板」 • Metadata0 码力 | 38 页 | 1.12 MB | 1 年前3
 Hello 算法 1.2.0 繁体中文 C# 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 第 11 章 排序 www.hello‑algo.com 251 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 我們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 379 页 | 18.79 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 C# 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 第 11 章 排序 www.hello‑algo.com 251 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 我們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 379 页 | 18.79 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Dart 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 第 11 章 排序 www.hello‑algo.com 251 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 378 页 | 18.77 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Dart 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 第 11 章 排序 www.hello‑algo.com 251 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 378 页 | 18.77 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Go 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 第 11 章 排序 www.hello‑algo.com 256 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 的順序可以交換嗎? 第 11 章 排序 www.hello‑algo.com 259 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 385 页 | 18.80 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Go 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 第 11 章 排序 www.hello‑algo.com 256 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 的順序可以交換嗎? 第 11 章 排序 www.hello‑algo.com 259 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 385 页 | 18.80 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Kotlin 版位執行“計數排序”。完成後,資料會根據第 ? 位從小到大排序。 3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 382 页 | 18.79 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Kotlin 版位執行“計數排序”。完成後,資料會根據第 ? 位從小到大排序。 3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 382 页 | 18.79 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Java 版位執行“計數排序”。完成後,資料會根據第 ? 位從小到大排序。 3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 我們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 379 页 | 18.79 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Java 版位執行“計數排序”。完成後,資料會根據第 ? 位從小到大排序。 3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 我們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 379 页 | 18.79 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 JavaScript 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 第 11 章 排序 www.hello‑algo.com 252 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 的順序可以交換嗎? 第 11 章 排序 www.hello‑algo.com 255 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 379 页 | 18.78 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 JavaScript 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 第 11 章 排序 www.hello‑algo.com 252 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 的順序可以交換嗎? 第 11 章 排序 www.hello‑algo.com 255 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 379 页 | 18.78 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 TypeScript 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 第 11 章 排序 www.hello‑algo.com 254 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 我們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 384 页 | 18.80 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 TypeScript 版3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 第 11 章 排序 www.hello‑algo.com 254 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 我們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 384 页 | 18.80 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Swift 版位執行“計數排序”。完成後,資料會根據第 ? 位從小到大排序。 3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 我們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 379 页 | 18.79 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Swift 版位執行“計數排序”。完成後,資料會根據第 ? 位從小到大排序。 3. 將 ? 增加 1 ,然後返回步驟 2. 繼續迭代,直到所有位都排序完成後結束。 圖 11‑18 基數排序演算法流程 下面剖析程式碼實現。對於一個 ? 進位制的數字 ? ,要獲取其第 ? 位 ?? ,可以使用以下計算公式: ?? = ⌊ ? ??−1⌋ mod ? 其中 ⌊?⌋ 表示對浮點數 ? 向下取整,而 mod 我們不希望看到的。 Q:哨兵劃分中“從右往左查詢”與“從左往右查詢”的順序可以交換嗎? 不行,當我們以最左端元素為基準數時,必須先“從右往左查詢”再“從左往右查詢”。這個結論有些反直覺, 我們來剖析一下原因。 哨兵劃分 partition() 的最後一步是交換 nums[left] 和 nums[i] 。完成交換後,基準數左邊的元素都 <= 基 準數,這就要求最後一步交換前 nums[left]0 码力 | 379 页 | 18.79 MB | 10 月前3
共 15 条
- 1
- 2













