add zig codes for Section Queue and Deque (#291)

* add zig codes for Section 'Queue'

* update zig codes for Section 'Queue'

* update zig codes for Section 'Queue'

* update zig codes for Section 'Queue'

* update zig codes for Section 'Queue' and 'Deque'

* update zig codes for Section 'Queue' and 'Deque'

* update zig codes for Section 'Queue' and 'Deque'
This commit is contained in:
sjinzh
2023-01-21 01:22:13 +08:00
committed by GitHub
parent 0b5761eaf5
commit d9f8c53e4a
7 changed files with 670 additions and 0 deletions
+12
View File
@@ -48,6 +48,18 @@ pub fn printLinkedList(comptime T: type, node: ?*ListNode(T)) !void {
}
}
// Print a queue or deque
pub fn printQueue(comptime T: type, queue: std.TailQueue(T)) void {
var node = queue.first;
std.debug.print("[", .{});
var i: i32 = 0;
while (node != null) : (i += 1) {
var data = node.?.data;
std.debug.print("{}{s}", .{data, if (i == queue.len - 1) "]" else ", " });
node = node.?.next;
}
}
// Print a HashMap
pub fn printHashMap(comptime TKey: type, comptime TValue: type, map: std.AutoHashMap(TKey, TValue)) void {
var it = map.iterator();