Stack的常用基本操作:
- s.push() // 压栈
- s.emplace() // 插入,相当于push(目前掌握的唯一区别是emplace可以自行调用构造函数,push不行)
- s.empty() // 判断栈空
- s.top() // 访问栈顶元素
- s.pop() // 退栈
- s.size() // 记录栈大小
/*** * stack的基本操作 * Jan 1 2019 */ int main() { stack<double> s; // 定义一个栈 for (int i = 0; i < 10; i++) s.push(i); // 压栈 s.emplace(10); // 相当于插入push while (!s.empty()) // 判断栈空 { printf("%lf\n", s.top()); // 访问栈顶元素 s.pop(); // 弹出栈 } cout << "栈内的元素的个数为:" << s.size() << endl; // 栈大小 return 0; }
/// 输出结果 10.000000 9.000000 8.000000 7.000000 6.000000 5.000000 4.000000 3.000000 2.000000 1.000000 0.000000 栈内的元素的个数为:0
Queue的常用基本操作:
- q.push() // 入队
- q.emplace() // 插入,相当于push(区别同Stack)
- q.empty() // 判断队空
- q.front() // 访问队头元素
- q.back() // 访问队尾元素
- q.pop() // 出队
- q.size() // 记录队大小
1 /*** 2 * queue的基本操作 3 * Jan 1 2019 4 */ 5 6 7 int main() { 8 queue<double> q; // 定义一个队列 9 for (int i = 0; i < 10; i++) 10 q.push(i); // 入队 11 q.emplace(10); // 相当于插入push 12 printf("%lf\n", q.back()); // 访问队尾元素 13 while (!q.empty()) // 判断队空 14 { 15 printf("%lf\n", q.front()); // 访问队头元素 16 q.pop(); // 出队 17 } 18 cout << "队内的元素的个数为:" << q.size() << endl; // 队列大小 19 return 0; 20 }
/// 输出结果 10.000000 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 9.000000 10.000000 队内的元素的个数为:0
原文地址:https://www.cnblogs.com/tangcumalaxia/p/10340263.html
时间: 2024-10-11 17:42:56