hello-algo/codes/rust/include/print_util.rs
sjinzh 8a388d8422
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
2023-02-05 16:25:42 +08:00

37 lines
No EOL
908 B
Rust

/**
* File: print_util.rs
* Created Time: 2023-02-05
* Author: sjinzh (sjinzh@gmail.com)
*/
use std::fmt::Display;
use std::collections::HashMap;
use std::collections::LinkedList;
/* Print an array */
pub fn print_array<T: Display>(nums: &[T]) {
print!("[");
if nums.len() > 0 {
for (i, num) in nums.iter().enumerate() {
print!("{}{}", num, if i == nums.len() - 1 {"]"} else {", "} );
}
} else {
print!("]");
}
}
/* Print a hash map */
pub fn print_hash_map<TKey: Display, TValue: Display>(map: &HashMap<TKey, TValue>) {
for (key, value) in map {
println!("{key} -> {value}");
}
}
/* Print a queue or deque */
pub fn print_queue<T: Display>(queue: &LinkedList<T>) {
print!("[");
let iter = queue.iter();
for (i, data) in iter.enumerate() {
print!("{}{}", data, if i == queue.len() - 1 {"]"} else {", "} );
}
}