STL之vector

1.简介

# 容器vector表示对象的集合,其中所有对象的类型相同。

  • vector能容纳绝大多数类型的对象作为元素,但引用不是对象,所以不存在包含引用的vector。
  • 集合中每个对象都有一个对应的索引,索引用于访问对象,即vector可以使用下标访问vector的元素。

# vector和array的关系

  • vector和array相似,均可以使用下标访问元素。
  • vector理解为动态数组,vector可以根据需要随时调整自身大小以便容纳更多元素。

# vector头文件

  1 #include<vector>

2.成员函数

31919f61194761ae9d072d5c653d718c

3.code实例

  1 #include<iostream>
  2 #include<vector>
  3 using namespace std;
  4 
  5 int main()
  6 {
  7 	int vector_fun();
  8 	vector_fun();
  9 
 10 	system("pause");
 11 	return 0;
 12 }
 13 
 14 int vector_fun()
 15 {
 16 	// 创建一维向量
 17 	//vector<int> v1_int;		
 18 
 19 	// 创建并初始化一维向量
 20 	vector<int> v1_int;
 21 
 22 	// 尾部插入
 23 	v1_int.push_back(1);
 24 	v1_int.push_back(2);
 25 	v1_int.push_back(3);
 26 	v1_int.push_back(4);
 27 
 28 	// 指定位置插入
 29 	v1_int.insert(v1_int.begin(), 0);
 30 
 31 	// 向量大小
 32 	int nsize = v1_int.size();
 33 	cout << nsize << endl;         //5
 34 
 35 	// 下标访问--向量对象的元素
 36 	cout << v1_int[0] << endl;     //0
 37 
 38 	// 引用访问--向量对象的元素
 39 	cout << v1_int.front() << endl;//0
 40 	cout << v1_int.back() << endl; //4
 41 
 42 	// 迭代器访问--向量对象的元素
 43 
 44 	// 方式1:向量迭代器变量
 45 	vector<int>::iterator temp_begin; // 定义向量迭代器变量temp_begin
 46 	vector<int>::iterator temp_end;   // 定义向量迭代器变量temp_end
 47 
 48 	temp_begin = v1_int.begin();// 获取向量对象首元素的迭代器--首迭代器
 49 	temp_end = v1_int.end();    // 获取向量对象尾后元素的迭代器--尾后迭代器
 50 
 51 	for (temp_begin; temp_begin < temp_end; ++temp_begin)
 52 	{
 53 		cout << v1_int[*temp_begin] << endl; // 向量迭代器变量解引用 
 54 	}
 55 
 56 	//方式2:自动迭代器变量
 57 	for (auto i = v1_int.begin(); i < v1_int.end();++i)
 58 	{
 59 		cout << v1_int[*i] << endl; // 自动迭代器变量接引
 60 	}
 61 
 62 	// 指定位置删除
 63 	v1_int.erase(v1_int.begin() + 2); //删除第三个元素
 64 	cout <<"向量长度"<< v1_int.size() << endl;
 65 
 66 	// 清空向量
 67 	v1_int.clear();
 68 	cout <<"向量长度"<< v1_int.size() << endl;
 69 
 70 	return 0;
 71 }
 72 
 73 
posted @ 2018-03-03 10:21  wanglei5205  阅读(238)  评论(0编辑  收藏  举报
levels of contents