在Rust中,你可以使用VecDeque
來實現隊列。VecDeque
是一個雙端隊列,可以從兩端高效地添加和刪除元素。要使用VecDeque
實現隊列,請按照以下步驟操作:
Cargo.toml
文件中添加vecdeque
依賴:[dependencies]
vecdeque = "0.8"
VecDeque
:use std::collections::VecDeque;
VecDeque
實例:let mut queue = VecDeque::new();
push_back
方法將元素添加到隊列的末尾:queue.push_back(1);
queue.push_back(2);
queue.push_back(3);
pop_front
方法從隊列的開頭刪除元素:if let Some(element) = queue.pop_front() {
println!("Removed element: {}", element);
} else {
println!("Queue is empty");
}
len
方法獲取隊列中的元素數量:println!("Queue length: {}", queue.len());
is_empty
方法檢查隊列是否為空:if queue.is_empty() {
println!("Queue is empty");
} else {
println!("Queue is not empty");
}
這是一個完整的示例:
use std::collections::VecDeque;
fn main() {
let mut queue = VecDeque::new();
queue.push_back(1);
queue.push_back(2);
queue.push_back(3);
println!("Queue length: {}", queue.len());
if let Some(element) = queue.pop_front() {
println!("Removed element: {}", element);
} else {
println!("Queue is empty");
}
println!("Queue length: {}", queue.len());
if queue.is_empty() {
println!("Queue is empty");
} else {
println!("Queue is not empty");
}
}
這個示例將輸出:
Queue length: 3
Removed element: 1
Queue length: 2
Queue is not empty