diff --git a/codes/rust/chapter_array_and_linkedlist/array.rs b/codes/rust/chapter_array_and_linkedlist/array.rs index a52d0db8..b4779874 100644 --- a/codes/rust/chapter_array_and_linkedlist/array.rs +++ b/codes/rust/chapter_array_and_linkedlist/array.rs @@ -4,10 +4,12 @@ * Author: xBLACICEx (xBLACKICEx@outlook.com), sjinzh (sjinzh@gmail.com) */ +use rand::Rng; + /* 随机返回一个数组元素 */ fn random_access(nums: &[i32]) -> i32 { // 在区间 [0, nums.len()) 中随机抽取一个数字 - let random_index = rand::random::() % nums.len(); + let random_index = rand::thread_rng().gen_range(0..nums.len()); // 获取并返回随机元素 let random_num = nums[random_index]; random_num diff --git a/codes/zig/chapter_array_and_linkedlist/array.zig b/codes/zig/chapter_array_and_linkedlist/array.zig index eebb4611..c70d6ec6 100644 --- a/codes/zig/chapter_array_and_linkedlist/array.zig +++ b/codes/zig/chapter_array_and_linkedlist/array.zig @@ -112,7 +112,6 @@ pub fn main() !void { var index = find(nums, 3); std.debug.print("\n在 nums 中查找元素 3 ,得到索引 = {}\n", .{index}); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_array_and_linkedlist/linked_list.zig b/codes/zig/chapter_array_and_linkedlist/linked_list.zig index fbaa3f8d..f0b1a212 100644 --- a/codes/zig/chapter_array_and_linkedlist/linked_list.zig +++ b/codes/zig/chapter_array_and_linkedlist/linked_list.zig @@ -80,6 +80,5 @@ pub fn main() !void { var index = find(&n0, 2); std.debug.print("链表中值为 2 的结点的索引 = {}\n", .{index}); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } \ No newline at end of file diff --git a/codes/zig/chapter_array_and_linkedlist/list.zig b/codes/zig/chapter_array_and_linkedlist/list.zig index 32fab973..3e0f014a 100644 --- a/codes/zig/chapter_array_and_linkedlist/list.zig +++ b/codes/zig/chapter_array_and_linkedlist/list.zig @@ -74,7 +74,6 @@ pub fn main() !void { std.debug.print("\n排序列表后 list = ", .{}); inc.PrintUtil.printList(i32, list); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_array_and_linkedlist/my_list.zig b/codes/zig/chapter_array_and_linkedlist/my_list.zig index 754852a1..4b2fa538 100644 --- a/codes/zig/chapter_array_and_linkedlist/my_list.zig +++ b/codes/zig/chapter_array_and_linkedlist/my_list.zig @@ -6,7 +6,6 @@ const std = @import("std"); const inc = @import("include"); // 列表类简易实现 -// 编译期泛型 pub fn MyList(comptime T: type) type { return struct { const Self = @This(); @@ -171,7 +170,6 @@ pub fn main() !void { inc.PrintUtil.printArray(i32, try list.toArray()); std.debug.print(" ,容量 = {} ,长度 = {}\n", .{list.capacity(), list.size()}); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_computational_complexity/space_complexity.zig b/codes/zig/chapter_computational_complexity/space_complexity.zig index 9798821a..b301d5fa 100644 --- a/codes/zig/chapter_computational_complexity/space_complexity.zig +++ b/codes/zig/chapter_computational_complexity/space_complexity.zig @@ -120,6 +120,5 @@ pub fn main() !void { }; try inc.PrintUtil.printTree(root, null, false); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } \ No newline at end of file diff --git a/codes/zig/chapter_hashing/array_hash_map.zig b/codes/zig/chapter_hashing/array_hash_map.zig index b87b5313..af73bc21 100644 --- a/codes/zig/chapter_hashing/array_hash_map.zig +++ b/codes/zig/chapter_hashing/array_hash_map.zig @@ -158,6 +158,5 @@ pub fn main() !void { } value_set.deinit(); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } \ No newline at end of file diff --git a/codes/zig/chapter_hashing/hash_map.zig b/codes/zig/chapter_hashing/hash_map.zig index 1e217c43..d9dee1b8 100644 --- a/codes/zig/chapter_hashing/hash_map.zig +++ b/codes/zig/chapter_hashing/hash_map.zig @@ -49,7 +49,6 @@ pub fn main() !void { std.debug.print("{s}\n", .{kv.value_ptr.*}); } - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_heap/heap.zig b/codes/zig/chapter_heap/heap.zig index e2f215d0..0d4b5b44 100644 --- a/codes/zig/chapter_heap/heap.zig +++ b/codes/zig/chapter_heap/heap.zig @@ -76,6 +76,5 @@ pub fn main() !void { std.debug.print("\n输入列表并建立小顶堆后\n", .{}); try inc.PrintUtil.printHeap(i32, mem_allocator, minHeap); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } \ No newline at end of file diff --git a/codes/zig/chapter_heap/my_heap.zig b/codes/zig/chapter_heap/my_heap.zig index c74b1091..ff5c3847 100644 --- a/codes/zig/chapter_heap/my_heap.zig +++ b/codes/zig/chapter_heap/my_heap.zig @@ -6,7 +6,6 @@ const std = @import("std"); const inc = @import("include"); // 堆类简易实现 -// 编译期泛型 pub fn MaxHeap(comptime T: type) type { return struct { const Self = @This(); @@ -181,10 +180,9 @@ pub fn main() !void { std.debug.print("\n堆元素数量为 {}", .{size}); // 判断堆是否为空 - var isEmpty = maxHeap.isEmpty(); - std.debug.print("\n堆是否为空 {}\n", .{isEmpty}); + var is_empty = maxHeap.isEmpty(); + std.debug.print("\n堆是否为空 {}\n", .{is_empty}); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_searching/linear_search.zig b/codes/zig/chapter_searching/linear_search.zig index 3ba21313..1f4c84fa 100644 --- a/codes/zig/chapter_searching/linear_search.zig +++ b/codes/zig/chapter_searching/linear_search.zig @@ -50,7 +50,6 @@ pub fn main() !void { std.debug.print("目标结点值 3 的对应结点对象为 ", .{}); try inc.PrintUtil.printLinkedList(i32, node); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_sorting/bubble_sort.zig b/codes/zig/chapter_sorting/bubble_sort.zig index 17cb0d97..3a2a922e 100644 --- a/codes/zig/chapter_sorting/bubble_sort.zig +++ b/codes/zig/chapter_sorting/bubble_sort.zig @@ -56,7 +56,6 @@ pub fn main() !void { std.debug.print("\n冒泡排序完成后 nums1 = ", .{}); inc.PrintUtil.printArray(i32, &nums1); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_sorting/insertion_sort.zig b/codes/zig/chapter_sorting/insertion_sort.zig index 5c954791..b0f0fa84 100644 --- a/codes/zig/chapter_sorting/insertion_sort.zig +++ b/codes/zig/chapter_sorting/insertion_sort.zig @@ -27,7 +27,6 @@ pub fn main() !void { std.debug.print("插入排序完成后 nums = ", .{}); inc.PrintUtil.printArray(i32, &nums); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_stack_and_queue/array_queue.zig b/codes/zig/chapter_stack_and_queue/array_queue.zig index 8a3938f9..79f7116a 100644 --- a/codes/zig/chapter_stack_and_queue/array_queue.zig +++ b/codes/zig/chapter_stack_and_queue/array_queue.zig @@ -124,8 +124,8 @@ pub fn main() !void { std.debug.print("\n队列长度 size = {}", .{size}); // 判断队列是否为空 - var isEmpty = queue.isEmpty(); - std.debug.print("\n队列是否为空 = {}", .{isEmpty}); + var is_empty = queue.isEmpty(); + std.debug.print("\n队列是否为空 = {}", .{is_empty}); // 测试环形数组 var i: i32 = 0; diff --git a/codes/zig/chapter_stack_and_queue/array_stack.zig b/codes/zig/chapter_stack_and_queue/array_stack.zig index 36b1c7ca..0c6d25a0 100644 --- a/codes/zig/chapter_stack_and_queue/array_stack.zig +++ b/codes/zig/chapter_stack_and_queue/array_stack.zig @@ -6,7 +6,6 @@ const std = @import("std"); const inc = @import("include"); // 基于数组实现的栈 -// 编译期泛型 pub fn ArrayStack(comptime T: type) type { return struct { const Self = @This(); @@ -78,11 +77,11 @@ pub fn main() !void { inc.PrintUtil.printList(i32, stack.toList()); // 访问栈顶元素 - var top = stack.top(); - std.debug.print("\n栈顶元素 top = {}", .{top}); + var peek = stack.top(); + std.debug.print("\n栈顶元素 peek = {}", .{peek}); // 元素出栈 - top = stack.pop(); + var top = stack.pop(); std.debug.print("\n出栈元素 pop = {},出栈后 stack = ", .{top}); inc.PrintUtil.printList(i32, stack.toList()); @@ -91,9 +90,8 @@ pub fn main() !void { std.debug.print("\n栈的长度 size = {}", .{size}); // 判断栈是否为空 - var empty = stack.empty(); - std.debug.print("\n栈是否为空 = {}", .{empty}); + var is_empty = stack.empty(); + std.debug.print("\n栈是否为空 = {}", .{is_empty}); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_stack_and_queue/deque.zig b/codes/zig/chapter_stack_and_queue/deque.zig index 1e617148..0b4bd374 100644 --- a/codes/zig/chapter_stack_and_queue/deque.zig +++ b/codes/zig/chapter_stack_and_queue/deque.zig @@ -44,8 +44,8 @@ pub fn main() !void { std.debug.print("\n双向队列长度 size = {}", .{size}); // 判断双向队列是否为空 - var isEmpty = if (deque.len == 0) true else false; - std.debug.print("\n双向队列是否为空 = {}", .{isEmpty}); + var is_empty = if (deque.len == 0) true else false; + std.debug.print("\n双向队列是否为空 = {}", .{is_empty}); _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_stack_and_queue/linkedlist_deque.zig b/codes/zig/chapter_stack_and_queue/linkedlist_deque.zig index 3fe6c5b0..b86e0c79 100644 --- a/codes/zig/chapter_stack_and_queue/linkedlist_deque.zig +++ b/codes/zig/chapter_stack_and_queue/linkedlist_deque.zig @@ -222,8 +222,8 @@ pub fn main() !void { std.debug.print("\n队列长度 size = {}", .{size}); // 判断双向队列是否为空 - var isEmpty = deque.isEmpty(); - std.debug.print("\n双向队列是否为空 = {}", .{isEmpty}); + var is_empty = deque.isEmpty(); + std.debug.print("\n双向队列是否为空 = {}", .{is_empty}); _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_stack_and_queue/linkedlist_queue.zig b/codes/zig/chapter_stack_and_queue/linkedlist_queue.zig index ea8735e6..a5b66d0b 100644 --- a/codes/zig/chapter_stack_and_queue/linkedlist_queue.zig +++ b/codes/zig/chapter_stack_and_queue/linkedlist_queue.zig @@ -120,8 +120,8 @@ pub fn main() !void { std.debug.print("\n队列长度 size = {}", .{size}); // 判断队列是否为空 - var isEmpty = queue.isEmpty(); - std.debug.print("\n队列是否为空 = {}", .{isEmpty}); + var is_empty = queue.isEmpty(); + std.debug.print("\n队列是否为空 = {}", .{is_empty}); _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_stack_and_queue/linkedlist_stack.zig b/codes/zig/chapter_stack_and_queue/linkedlist_stack.zig index 633583b4..38defc1b 100644 --- a/codes/zig/chapter_stack_and_queue/linkedlist_stack.zig +++ b/codes/zig/chapter_stack_and_queue/linkedlist_stack.zig @@ -6,7 +6,6 @@ const std = @import("std"); const inc = @import("include"); // 基于链表实现的栈 -// 编译期泛型 pub fn LinkedListStack(comptime T: type) type { return struct { const Self = @This(); @@ -111,10 +110,9 @@ pub fn main() !void { std.debug.print("\n栈的长度 size = {}", .{size}); // 判断栈是否为空 - var empty = stack.empty(); - std.debug.print("\n栈是否为空 = {}", .{empty}); + var is_empty = stack.empty(); + std.debug.print("\n栈是否为空 = {}", .{is_empty}); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_stack_and_queue/queue.zig b/codes/zig/chapter_stack_and_queue/queue.zig index 011b3618..ce5b9c09 100644 --- a/codes/zig/chapter_stack_and_queue/queue.zig +++ b/codes/zig/chapter_stack_and_queue/queue.zig @@ -39,8 +39,8 @@ pub fn main() !void { std.debug.print("\n队列长度 size = {}", .{size}); // 判断队列是否为空 - var empty = if (queue.len == 0) true else false; - std.debug.print("\n队列是否为空 = {}", .{empty}); + var is_empty = if (queue.len == 0) true else false; + std.debug.print("\n队列是否为空 = {}", .{is_empty}); _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_stack_and_queue/stack.zig b/codes/zig/chapter_stack_and_queue/stack.zig index fd1d2b2d..9bd076e9 100644 --- a/codes/zig/chapter_stack_and_queue/stack.zig +++ b/codes/zig/chapter_stack_and_queue/stack.zig @@ -39,6 +39,5 @@ pub fn main() !void { var empty = if (stack.items.len == 0) true else false; std.debug.print("\n栈是否为空 = {}", .{empty}); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_tree/binary_tree.zig b/codes/zig/chapter_tree/binary_tree.zig index b2cb9a96..f193543c 100644 --- a/codes/zig/chapter_tree/binary_tree.zig +++ b/codes/zig/chapter_tree/binary_tree.zig @@ -34,7 +34,6 @@ pub fn main() !void { std.debug.print("删除结点 P 后\n", .{}); try inc.PrintUtil.printTree(&n1, null, false); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } diff --git a/codes/zig/chapter_tree/binary_tree_bfs.zig b/codes/zig/chapter_tree/binary_tree_bfs.zig index 4fb94d94..56c1d8ab 100644 --- a/codes/zig/chapter_tree/binary_tree_bfs.zig +++ b/codes/zig/chapter_tree/binary_tree_bfs.zig @@ -53,6 +53,5 @@ pub fn main() !void { std.debug.print("\n层序遍历的结点打印序列 = ", .{}); inc.PrintUtil.printList(i32, list); - const getchar = try std.io.getStdIn().reader().readByte(); - _ = getchar; + _ = try std.io.getStdIn().reader().readByte(); } \ No newline at end of file diff --git a/codes/zig/include/ListNode.zig b/codes/zig/include/ListNode.zig index 19ece117..6c3030af 100644 --- a/codes/zig/include/ListNode.zig +++ b/codes/zig/include/ListNode.zig @@ -5,7 +5,6 @@ const std = @import("std"); // Definition for a singly-linked list node -// 编译期泛型 pub fn ListNode(comptime T: type) type { return struct { const Self = @This(); diff --git a/codes/zig/include/PrintUtil.zig b/codes/zig/include/PrintUtil.zig index 24152ffd..ac52e557 100644 --- a/codes/zig/include/PrintUtil.zig +++ b/codes/zig/include/PrintUtil.zig @@ -60,7 +60,7 @@ pub fn printQueue(comptime T: type, queue: std.TailQueue(T)) void { } } -// Print a HashMap +// Print a hash map pub fn printHashMap(comptime TKey: type, comptime TValue: type, map: std.AutoHashMap(TKey, TValue)) void { var it = map.iterator(); while (it.next()) |kv| { diff --git a/codes/zig/include/TreeNode.zig b/codes/zig/include/TreeNode.zig index 08e0ce64..fc31ec36 100644 --- a/codes/zig/include/TreeNode.zig +++ b/codes/zig/include/TreeNode.zig @@ -5,7 +5,6 @@ const std = @import("std"); // Definition for a binary tree node -// 编译期泛型 pub fn TreeNode(comptime T: type) type { return struct { const Self = @This();