vector容器的基本用法:
template<class T>
class vector
{
T* _a;
size_t size;
size_t capacity;
}
尾插和遍历:
cpp
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
//遍历
for(int i=0;i<v.size();i++)
{
cout<<v[i]<<endl;
}
vector<int>::iterator it = v.begin();
while(it!=v.end())
{
cout<<*it<<endl;
++it;
}
for(auto it:v)
{
cout<<it<<endl;
}
vector<int> v(10,1) 定义一个变量开10个空间的大小,并初始化为1;
cpp
vector<int> v;
v.reserve(100);//扩容100个空间大小
v.resize(100,0);//开100个空间并进行初始化
find函数是在库里面。vector里面没有find,使用find要调用头文件algorithm;
string用自己的find,因为string还有字串的查找需要使用find;
cpp
vector<string> v;
string s1("苹果")
v.push_back(s1)//之前是这样的
v.push_back(string("理想"))//现在这样也是可以的
v.push_back(string("实现"))
v.push_back("实现")
vector<vector<int>> vv;//是二维数组
杨辉三角:
cpp
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> vv(numRows);
for(int i = 0; i < numRows; ++i)
{
vv[i].resize(i+1, 1);
}
for(int i = 2; i < numRows; ++i)
{
for(int j = 1; j < i; ++j)
{
vv[i][j] = vv[i-1][j] + vv[i-1][j-1];
}
}
return vv;
}
};