STL模板——vector详解

一、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 ::iterator

rbegin()&rend():

vector ::reverse_iterator

四、vector 常用基础操作

1.输入

	vector  v;
	int n, x;
	cin>>n;
	
	for(int i = 1; i <= n; i++)
	{
		cin>>x;
		v.push_back(x); 
	}

2.输出

1)顺序输出

​​for(vector ::iterator iter = v.begin(); iter != v.end(); iter++)
	cout<<*iter<<" ";

2)逆序输出 

for(vector ::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);
		else
			iter++;
	}

四、例题演示

题目描述

输出一个整数序列中与指定数字相同的数的个数。

输入格式

输入包含三行:
第一行为N,表示整数序列的长度(N <= 100);
第二行为N个整数,整数之间以一个空格分开;
第三行包含一个整数,为指定的整数m。

输出格式

输出为N个数中与m相同的数的个数。

样例输入
3
2 3 2
2
样例输出
2
参考代码
#include 
#include 
#include 
#define ll long long
using namespace std;
int main()
{
	vector  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 ::iterator iter = v.begin(); iter != v.end(); iter++)
	{
		if((*iter) == q)
			cnt++;
	}
	
	cout<

原题链接:与指定数字相同的数的个数

你可能感兴趣的:(C++,c++,开发语言,数据结构)