update rust codes for hash_map, binary_search, bubble_sort, stack, queue (#330)

* update rust codes

* update rust codes

* update rust codes

* update and add rust codes for hash_map, binary_search, bubble_sort

* update and add rust codes for hash_map, binary_search, bubble_sort

* add rust codes for chapter stack

* add rust codes for chapter queue

* add rust codes for chapter deque
This commit is contained in:
sjinzh
2023-02-05 16:25:42 +08:00
committed by GitHub
parent 93ca29ca6d
commit 8a388d8422
21 changed files with 559 additions and 280 deletions

View File

@@ -17,25 +17,25 @@ pub fn main() !void {
var node3 = L.Node{ .data = 4 };
var node4 = L.Node{ .data = 3 };
var node5 = L.Node{ .data = 1 };
deque.append(&node1);
deque.append(&node1); // 添加至队尾
deque.append(&node2);
deque.append(&node3);
deque.prepend(&node4);
deque.prepend(&node4); // 添加至队首
deque.prepend(&node5);
std.debug.print("双向队列 deque = ", .{});
inc.PrintUtil.printQueue(i32, deque);
// 访问元素
var peekFirst = deque.first.?.data;
var peekFirst = deque.first.?.data; // 队首元素
std.debug.print("\n队首元素 peekFirst = {}", .{peekFirst});
var peekLast = deque.last.?.data;
std.debug.print("\n元素 peekLast = {}", .{peekLast});
var peekLast = deque.last.?.data; // 队尾元素
std.debug.print("\n元素 peekLast = {}", .{peekLast});
// 元素出队
var pollFirst = deque.popFirst().?.data;
var pollFirst = deque.popFirst().?.data; // 队首元素出队
std.debug.print("\n队首出队元素 pollFirst = {},队首出队后 deque = ", .{pollFirst});
inc.PrintUtil.printQueue(i32, deque);
var pollLast = deque.pop().?.data;
var pollLast = deque.pop().?.data; // 队尾元素出队
std.debug.print("\n队尾出队元素 pollLast = {},队尾出队后 deque = ", .{pollLast});
inc.PrintUtil.printQueue(i32, deque);
@@ -43,7 +43,7 @@ pub fn main() !void {
var size = deque.len;
std.debug.print("\n双向队列长度 size = {}", .{size});
// 判断队列是否为空
// 判断双向队列是否为空
var isEmpty = if (deque.len == 0) true else false;
std.debug.print("\n双向队列是否为空 = {}", .{isEmpty});