STL编程 —— vector

vector介绍:


是一个线性的顺序结构,相当于数组,但其大小可以不预先指定,并且自动扩展,它可以像数组一样被操作,由于它的特性我们完全可以将vetcor 看做动态数组。


代码实例1:

#include "iostream"
#include "vector"
using namespace std;

//vector<int> &c 和数组做函数参数区别
//数组做函数 会退化为指针
//类,类有封装概念,突破了函数的概念

void printfV(vector<int> &v)
{
	int size = v.size();
	for (int i = 0; i < size; i++)
	{
		cout << v[i] << "  ";
	}
	cout << endl;
}

void main()
{

	//用模板类初始化一个int型的数组
	//在使用模板类的时候,需要指明具体的类型
	//相当于 int v1[5]
	vector<int> v1(5);

	for (int i = 0; i < 5; i++)
	{
		v1[i] = i + 1;
	}

	for (int i = 0; i < 5; i++)
	{
		cout << v1[i] << "  ";
	}
	cout << endl;

	vector<int> v2(20);
	v2 = v1;

	//测试函数
	printfV(v2);



	system("pause");
}


代码实例2:

#include "iostream"
#include "vector"
using namespace std;

//vector<int> &c 和数组做函数参数区别
//数组做函数 会退化为指针
//类,类有封装概念,突破了函数的概念

void printfV(vector<int> &v)
{
	int size = v.size();
	for (int i = 0; i < size; i++)
	{
		cout << v[i] << "  ";
	}
	cout << endl;
}


void main()
{

	//测试函数
	//vetcor类会把20个大小,全部初始化
	vector<int> v3(20);
	v3.push_back(100);
	v3.push_back(101);
	printfV(v3);

	system("pause");
}



代码实例3:


#include "iostream"
#include "vector"
using namespace std;

//vector<int> &c 和数组做函数参数区别
//数组做函数 会退化为指针
//类,类有封装概念,突破了函数的概念

void printfV(vector<int> &v)
{
	int size = v.size();
	for (int i = 0; i < size; i++)
	{
		cout << v[i] << "  ";
	}
	cout << endl;
}

struct Teacher
{
	char name[10];
	int age;
};

void main()
{

	Teacher t1, t2, t3;
	t1.age = 11;
	t2.age = 22;
	t3.age = 33;

	vector<Teacher *> v1(5);
	v1[0] = &t1;
	v1[1] = &t2;
	v1[2] = &t3;

	//cout << v1[0].age << endl;
	for (int i = 0; i < v1.size(); i++)
	{
		Teacher *tmp = v1[i];
		if (tmp != NULL)
		{
			cout << tmp->age << " " << endl;
		}	
	}
	system("pause");
}




原文链接: STL编程 —— vector 版权所有,转载时请注明出处,违者必究。
注明出处格式:流沙团 ( http://gyarmy.com/post-8.html )

发表评论

0则评论给“STL编程 —— vector”