- 容器简介
1、动态数组,可以在运行阶段设置长度
2、具有数组的快速索引方式
3、可以插入和删除元素
- 容器的定义及初始化
vector<double> vec1;//创建一个容器
vector<string> vecc2(5);//创建一个长度为5的容器
vector<int> vec3(20,998);//创建长度为20的容器,并且元素全部都是998
- vector容器语法备注
常用操作 | 解释 |
---|---|
clear() | 移除容器中的所有数据 |
empty() | 判断容器是否为空 |
size() | 返回容器中元素个数 |
[index]、at(index) | 返回索引为index的元素 |
erase(pose) | 删除pos位置处的数据 |
erase(beg,end) | 删除[beg,end)区间的数据 |
front() | 返回第一个元素 |
insert(pose,elem) | 在pose处插入一个元素 |
pop_back() | 删除最后一个元素 |
push_back(elem) | 在容器末尾插入一个元素 |
resize(num) | 重新设置容器大小 |
begin()、end() | 返回容器首位元素的迭代器 |
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> nums;//创建一个向量,只能通过定义的方式,不能直接创建
for(int i =0; i < 10; i++)
{
nums.push_back(i+1);//将元素加进去
}
for(int j = 0; j < 10;j++)//打印元素
{
cout << nums[j] << "t";
}
//打印vector向量的另外几种方法
/*
//1、for循环的写法
for(int i = 0; i < nums.size(); i++)
{
cout << nums[i] << "\t";
}
//2、迭代器的写法
for(vector<int>::const_iterator iter = nums.begin(); iter != nums.end(); iter++)
{
cout << *iter << "\t";//迭代器是指针,所以用*号
}
//3、使用c++11类型推断器
for(auto iter = nums.begin(); iter != nums.end(); iter++)
{
cout << *iter << "\t";
}
//4、使用for区间遍历
for(auto iter : nums)//如果iter在nums里面,就打印iter
{
cout << iter << "\t";
}
//5、使用算法
copy(nums.cbegin(),nums.cend(),ostream_iterator<int>(cout, "\t"));//就是从nums的开始到结尾的元素复制到iostream中进行打印输出
//6、使用算法查找元素
find(nums.cbegin(),nums.cend(),num);//从nums的开头到结尾,查找num这个元素
*/
//程序输出
1 2 3 4 5 6 7 8 9 10
Process returned 0 (0x0) execution time : 0.094 s
Press any key to continue.