几种不同的数据结构:vector、stack、queue、deque都有插入和删除操作;为什么有的是push、有的是push_back,如何记不会记错?
很简单:vector和deque可以在不同的位置插入,比如双向队列deque可以在头部插入数据,也可以在尾部插入数据,因此不能直接使用push,而要加上限定back或者是front;同理,stack和queue的插入和删除是确定的,所以不用限定。
std::vector<int> vec;
vec.push_back(10); // 尾部插入
vec.insert(vec.begin(), 5); // 头部插入
std::deque<int> dq;
dq.push_front(90); // 头部插入
dq.push_back(100); // 尾部插入
******************************************************
std::queue<int> q;
q.push(30); // 尾部插入
q.pop(); // 头部删除
std::stack<int> s;
s.push(60); // 压入栈顶
s.pop(); // 弹出栈顶元素
1219

被折叠的 条评论
为什么被折叠?



