STL是指C++的标准模板库(Standard Template Library)
不定长数组:vector
声明:
vector<char> a; //类似于char a[]
vector<int> b; //类似于int b[]
使用前记得加头文件:
#include<vector>
或者直接用万能头文件咯:
#include <bits/stdc++.h>
常用操作:
代码 | 作用 |
---|---|
a.push_back() | 向尾部添加元素 |
a.pop_back() | 删除最后一个元素 |
a.resize() | 改变大小 |
a.size() | 读取大小 |
a.empty() | 判断是否为空,非0即为空 |
a.clear() | 清空 |
代码实现:
#include <bits/stdc++.h>
using namespace std;
vector<char> v;
void print()
{
for(int i=0;i<v.size();i++)
cout<<v[i];
cout<<endl;
}
int main()
{
v.push_back('A');
print();
v.push_back('B');
print();
v.pop_back();
print();
cout<<v.size()<<endl;
v.resize(3);
cout<<v.size()<<endl;
print();
v.clear();
cout<<v.size()<<endl;
if(v.empty())cout<<"是空的吖"<<endl;
else cout<<"不是空的吖"<<endl;
return 0;
}
运行结果:
心得:
- vector可以直接赋值,还可以作为函数的参数或者返回值,而无须像传递数组那样另外用一个变量指定元素个数。
- 通过改变输出函数,实现逆序或是顺序输出。
void print()
{
for(int i=v.size()-1;i>=0;i--)
cout<<v[i];
cout<<endl;
}
例题:
https://blog.csdn.net/weixin_42324771/article/details/87906444