一、vector对象的定义和初始化方式
vector 中的数据类型 T 可以代表任何数据类型,如 int、string、class、vector(构建多维数组) 等,就像一个可以放下任何东西的容器,因此 vector 也常被称作容器。字符串类型 string 也是一种容器,c++ 中的不同种类的容器拥有很多相同的操作,因此 string 的很多操作方法可以直接用在 vector 中。vector很想数组,但vector类型不限大小,是一个动态数组。
二、vecto的常用函数模板库
push_back() 向vector从尾部添加一个元素
begin() 访问vector的第一个元素
end() 访问vector的左最后一个元素
rbegin() 逆向访问vector的第一个元素(即最后一个元素)
rend() 逆向访问vector的最后一个元素(即第一个元素)
三、迭代器
begin()&end():
vector <int>::iterator
rbegin()&rend():
vector <int>::reverse_iterator
四、vector 常用基础操作
1.输入
vector <int> v;int n, x;cin>>n;for(int i = 1; i <= n; i++){cin>>x;v.push_back(x); }
2.输出
1)顺序输出
for(vector <int>::iterator iter = v.begin(); iter != v.end(); iter++)cout<<*iter<<" ";
2)逆序输出
for(vector <int>::reverse_iterator iter = v.rbegin(); iter != v.rend(); iter++)cout<<*iter<<" ";
3.删除
cin>>q;for(it iter = v.begin(); iter != v.end();){if(*iter == q)iter = v.erase(iter);elseiter++;}
四、例题演示
题目描述
输出一个整数序列中与指定数字相同的数的个数。
输入格式
输入包含三行:
第一行为N,表示整数序列的长度(N <= 100);
第二行为N个整数,整数之间以一个空格分开;
第三行包含一个整数,为指定的整数m。
输出格式
输出为N个数中与m相同的数的个数。
样例输入
3 2 3 2 2
样例输出
2
参考代码
#include <iostream>
#include <cstdio>
#include <vector>
#define ll long long
using namespace std;
int main()
{vector <int> v;int q, n, x, cnt = 0;cin>>n;for(int i = 1; i <= n; i++){scanf("%d", &x);v.push_back(x); }cin>>q;for(vector <int>::iterator iter = v.begin(); iter != v.end(); iter++){if((*iter) == q)cnt++;}cout<<cnt;return 0;
}