初识C++ Vector模板与实例化原理
什么是Vector模板
Vector是C++ STL库提供的一种数据结构,是动态数组的一个实现。它可以在运行时动态调整容器大小,并且可以快速随机访问元素。
在C++里,vector是一个模板类,可以存储任意类型的元素。
vector模板的实例化
Vector是一个模板,需要在使用前被实例化,并且实例化时需要指定数据类型,例如:
vector<int> vecInt; // 实例化一个空的int类型的vector
vector<string> vecStr; // 实例化一个空的string类型的vector
Vector模板的基本操作
插入和删除元素
vecInt.push_back(3); // 在vector尾部插入元素3
vecInt.insert(0, 2); // 在vector下标0插入元素2
vecInt.pop_back(); // 删除vector尾部元素
vecInt.erase(0); // 删除vector下标0的元素
访问元素
int num = vecInt[0]; // 访问下标0的元素
int size = vecInt.size(); // 返回vector包含元素的数量
迭代器操作
vector<int>::iterator itor = vecInt.begin(); // 返回vector的起始迭代器
vector<int>::iterator itorEnd = vecInt.end(); // 返回vector的终止迭代器
for(itor;itor!=itorEnd;itor++) //遍历整个vector
{
cout<<*itor<<endl;
}
int num2 = *(vecInt.begin() + 2); // 通过迭代器访问vector中的元素
示例1:使用Vector模板实现斐波那契数列
vector<int> Fibonacci;
Fibonacci.push_back(0);
Fibonacci.push_back(1);
for (int i = 2; i < 10; i++)
{
Fibonacci.push_back(Fibonacci[i - 1] + Fibonacci[i - 2]);
}
示例2:使用Vector模板实现字符串逆序
string str = "hello world";
vector<char> vecStr(str.begin(), str.end());
reverse(vecStr.begin(), vecStr.end());
string result(vecStr.begin(), vecStr.end());
cout<<result<<endl;
以上就是初识C++ Vector模板与实例化原理的攻略,希望可以帮助大家更好地应用Vector模板。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:初识C++ Vector模板与实例化原理 - Python技术站