rustのvectorのスタックはpush, popを使う
fn main() { let mut stack: Vec<i32> = Vec::new(); stack.push(3); stack.push(5); stack.push(2); println!("{:?}", stack); let temp = stack.pop(); println!("{:?}", temp); println!("{:?}", stack); }
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.32s
Running `target/debug/rust`
[3, 5, 2]
Some(2)
[3, 5]
最初に入れたものから取り出すにはお馴染みのVecDequeを使います。
use std::collections::VecDeque; fn main() { let mut stack: VecDeque<i32> = VecDeque::new(); stack.push_back(3); stack.push_back(5); stack.push_back(2); println!("{:?}", stack); let temp = stack.pop_front(); println!("{:?}", temp); println!("{:?}", stack); }
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.57s
Running `target/debug/rust`
[3, 5, 2]
Some(3)
[5, 2]