std::stack和std::queue是适配器容器,基于底层容器(如deque、vector、list)提供受限接口,分别实现LIFO和FIFO语义,默认使用deque因其两端高效操作且缓存性能好。

std::stack
std::queue
std::deque
std::vector
std::list
理解适配器容器的关键在于它们提供了一个受限的接口,隐藏了底层容器的复杂性。这就像你拿到一个遥控器,你只关心按哪个按钮能换台,而不用管电视机内部复杂的电路板。
std::stack
std::stack
std::deque
deque
push_back()
push
pop_back()
pop
back()
top
deque
std::vector
std::list
std::queue
std::queue
std::deque
deque
push_back()
push
pop_front()
pop
front()
front
back()
back
deque
std::queue
std::list
std::vector
vector
pop_front()
std::deque
std::stack
std::queue
这其实是一个关于效率和通用性的权衡。在我看来,选择
std::deque
std::deque
std::stack
deque
push_back
pop_back
std::queue
pop_front
push_back
deque
如果换成
std::vector
push_back
pop_back
pop_front
std::queue
std::list
deque
deque
list
std::stack
std::vector
当然可以,而且在某些特定场景下,这可能是一个不错的选择。
当
std::stack
std::vector
push
vector::push_back
pop
vector::pop_back
top
vector::back
vector
pop_back
back
push_back
vector
优点:
vector
top
deque
list
vector
缺点:
vector
何时考虑使用:
top
一个简单的例子:
#include <stack>
#include <vector>
#include <iostream>
int main() {
std::stack<int, std::vector<int>> myVectorStack;
myVectorStack.push(10);
myVectorStack.push(20);
std::cout << "Top of vector stack: " << myVectorStack.top() << std::endl;
myVectorStack.pop();
std::cout << "Size of vector stack: " << myVectorStack.size() << std::endl;
return 0;
}std::queue
std::list
是的,
std::queue
std::list
std::queue
std::deque
当
std::queue
std::list
push
list::push_back
pop
list::pop_front
front
list::front
back
list::back
std::list
优点:
list
push_back
pop_front
vector
deque
缺点:
list
vector
deque
deque
vector
queue
list
何时考虑使用:
list
一个简单的例子:
#include <queue>
#include <list>
#include <iostream>
int main() {
std::queue<std::string, std::list<std::string>> myListQueue;
myListQueue.push("First");
myListQueue.push("Second");
std::cout << "Front of list queue: " << myListQueue.front() << std::endl;
myListQueue.pop();
std::cout << "Back of list queue: " << myListQueue.back() << std::endl;
return 0;
}以上就是适配器容器怎么使用 stack和queue实现原理的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号