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});

View File

@@ -26,12 +26,12 @@ pub fn main() !void {
inc.PrintUtil.printQueue(i32, queue);
// 访问队首元素
var front = queue.first.?.data;
std.debug.print("\n队首元素 front = {}", .{front});
var peek = queue.first.?.data;
std.debug.print("\n队首元素 peek = {}", .{peek});
// 元素出队
front = queue.popFirst().?.data;
std.debug.print("\n出队元素 front = {},出队后 queue = ", .{front});
var poll = queue.popFirst().?.data;
std.debug.print("\n出队元素 poll = {},出队后 queue = ", .{poll});
inc.PrintUtil.printQueue(i32, queue);
// 获取队列的长度

View File

@@ -23,12 +23,12 @@ pub fn main() !void {
inc.PrintUtil.printList(i32, stack);
// 访问栈顶元素
var top = stack.items[stack.items.len - 1];
std.debug.print("\n栈顶元素 top = {}", .{top});
var peek = stack.items[stack.items.len - 1];
std.debug.print("\n栈顶元素 peek = {}", .{peek});
// 元素出栈
top = stack.pop();
std.debug.print("\n出栈元素 pop = {},出栈后 stack = ", .{top});
var pop = stack.pop();
std.debug.print("\n出栈元素 pop = {},出栈后 stack = ", .{pop});
inc.PrintUtil.printList(i32, stack);
// 获取栈的长度