【小练习】STL模板与容器_容器1

1.练习代码-vector容器常规操作

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;

void print(vector<int>);

int _tmain(int argc, _TCHAR* argv[])
{
	vector<int> vec;
	vec.push_back(34);
	vec.push_back(23);
	print(vec);
	vector<int>::iterator p;
	p = vec.begin();
	*p = 68;
	*(p+1) = 69;
	print(vec);
	vec.pop_back();
	print(vec);
	vec.push_back(101);
	vec.push_back(102);
	int i = 0;
	while(i<vec.size())
		cout << vec[i++] << " ";
	cout << endl;
	vec[0] = 1000;
	vec[1] = 1001;
	vec[2] = 1002;
	i = 0;
	while(i<vec.size())
		cout << vec[i++] << " ";

	print(vec);
	return 0;
}

void print(vector<int> v)
{
	cout << "\n vector size is: " << v.size() << endl;
	vector<int>::iterator p = v.begin();
}

2.关键点分析

2.1 处理过程

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;

void print(vector<int>);

int _tmain(int argc, _TCHAR* argv[])
{
	vector<int> vec; //定义int类型vector容器
	vec.push_back(34); //在容器尾部添加数据34
	vec.push_back(23); //在容器尾部添加数据23
	print(vec); //打印容器的大小
	vector<int>::iterator p; //定义指向容器数据的指针p
	p = vec.begin(); //将p指向容器数据的头部
	*p = 68; //容器第一个数据赋值为68
	*(p+1) = 69; //容器第二个数据赋值为69
	print(vec); //打印容器的大小
	vec.pop_back(); //弹出1个尾部数据
	print(vec); //打印容器的大小,此时因为弹出1个,大小减少1
	vec.push_back(101); //在容器尾部添加数据101
	vec.push_back(102); //在容器尾部添加数据102
	int i = 0;
	while(i<vec.size()) //打印容器内所有数据
		cout << vec[i++] << " ";
	cout << endl;
	vec[0] = 1000; //容器第一个数据赋值为1000
	vec[1] = 1001; //容器第二个数据赋值为1001
	vec[2] = 1002; //容器第三个数据赋值为1002
	i = 0;
	while(i<vec.size()) //打印容器内所有数据
		cout << vec[i++] << " ";

	print(vec);
	return 0;
}

void print(vector<int> v)
{
	cout << "\n vector size is: " << v.size() << endl;
	vector<int>::iterator p = v.begin();
}

2.2运行结果

【小练习】STL模板与容器_容器1