提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
提示:这里可以添加本文要记录的大概内容:
我们在c++语言的深入学习之后,各种算法也多多少少的见过一些,一些算法在STL中有现成的用法,我们在学习之后也可以直接使用。
提示:以下是本篇文章正文内容,下面案例可供参考
一、STL初识
STL提供了六大组件,包括:容器、算法、迭代器、仿函数、适配器、空间适配器,但我们所能接触到的基础的就是前面四项,其中容器、算法和迭代器是我们日常生活中经常遇到的,我们今天说的就是容器中的stack(栈),需要包含的头文件是#include<stack>。
二、stack的一些操作
1.stack的定义
stack<int>MyStack; //容器名+数据类型名称+自定义名称
2.stack自带的一些接口
MyStack.push(i); //向栈顶添加元素
MyStack.pop(); //从栈顶移除第一个元素,不作返回
MyStack.top(); //返回栈顶元素
MyStack.size(); //栈的大小
MyStack.empty(); //栈是否为空
这些接口我们都可以在定义后直接使用,相较于不用容器,我们这样书写代码简洁、清晰,不会出现自己编码出现的bug。
案例操作(如下):
#include<iostream>
using namespace std;
#include<stack>
int main() {
stack<int>mystack;//STL中的栈的定义
int sum = 0;
for (int i = 0; i <= 10; i++) {
mystack.push(i);//往栈中插入0-10
}
cout << "size is:" << mystack.size() << endl;//求所有元素的大小
while (!mystack.empty())//栈不为空为循环条件
{
cout << mystack.top() << " ";//元素的获取
sum += mystack.top();//求和操作
mystack.pop();//相当于删除操作
}
cout << endl ;
cout << "获取成功!" << endl;
cout << "sum is:" << sum;
cout << endl;
system("pause");
return 0;
}
总结
希望各位朋友在学习的道路上保持自己的勤奋,多动手,多出错。