这是我自己学习C++的第八篇博客总结。后期我会继续把C++学习笔记开源至博客上。 上一期笔记是关于C++的list类知识,没看的同学可以过去看看: 【C++】深入理解List:双向链表的应用-CSDN博客
https://cloud.tencent.com/developer/article/2502837
在使用stack类时,必须包含 #include <stack> 这一行。 string类的底层其实是一个储存字符的顺序表结构,而vector类的底层是一个顺序表模板,使用时需要显示实例化,而list类的底层是一个双向链表模板,使用时也需要显示实例化,queue类的底层是一个栈结构模板,使用时也需要显示实例化。 下面是queue类的官方文本介绍,里面有详细的用法讲解。 cplusplus.com/reference/stack/stack/?kw=stack
https://cplusplus.com/reference/stack/stack/?kw=stack
stack<int> s1,构造一个空的stack类对象。 stack.empty(),检测stack类对象是否为空。 stack.size(),返回stack类对象中的元素个数。 stack.top(),返回stack类对象的栈顶元素。 stack.push(),向stack类对象的栈顶插入元素。 stack.pop(),向stack类对象的栈顶弹出元素。
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stack>
using namespace std;
int main()
{
stack<int> s1;
s1.push(1);
s1.push(2);
s1.push(3);
s1.push(4);
cout << s1.empty() << endl;
cout << s1.top() << endl;
cout << s1.size() << endl;
s1.pop();
cout << s1.empty() << endl;
cout << s1.top() << endl;
cout << s1.size() << endl;
return 0;
}
在使用queue类时,必须包含 #include <queue> 这一行。 string类的底层其实是一个储存字符的顺序表结构,而vector类的底层是一个顺序表模板,使用时需要显示实例化,而list类的底层是一个双向链表模板,使用时也需要显示实例化,stack类的底层是一个栈结构模板,使用时也需要显示实例化,queue类的底层是一个列队结构模板,使用时也需要显示实例化。 下面是queue类的官方文本介绍,里面有详细的用法讲解。 cplusplus.com/reference/queue/queue/
https://cplusplus.com/reference/queue/queue/
queue<int> q1,构造一个空的queue类对象。 queue.empty(),检测queue类对象是否为空。 queue.size(),返回queue类对象中的元素个数。 queue.front(),返回queue类对象的列队头元素。 queue.back(),返回queue类对象的列队尾元素。 queue.push(),向queue类对象的列队尾插入元素。 queue.pop(),向queue类对象的列队头弹出元素。
#define _CRT_SECURE_NO_WARNINGS
#include <queue>
#include <iostream>
using namespace std;
int main()
{
queue<int> q1;
q1.push(0);
q1.push(1);
q1.push(2);
q1.push(3);
q1.push(4);
cout << q1.empty() << endl;
cout << q1.size() << endl;
cout << q1.front() << endl;
cout << q1.back() << endl;
q1.pop();
cout << q1.empty() << endl;
cout << q1.size() << endl;
cout << q1.front() << endl;
cout << q1.back() << endl;
return 0;
}
感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!