STL容器:vector
2017-05-07 19:17
260 查看
基础
尾部开口,因此在其尾部进行数据的输入输出操作效率最高。尾部输入成员函数push_back(),尾部删除成员函数pop_back()
常用构造函数见如下程序:
int _tmain(int argc, _TCHAR* argv[]) { vector<int> v1;//构造一个空的容器 for (int i = 0; i < 20; i++) { v1.push_back(i); //vector如何实现内存的动态增长,会预先创建一块内存区,当用完后再重新申请 cout << "v1.size():" << v1.size() << " v1.capacity()" << v1.capacity()<<endl;//size()元素的个数,capacity() vector的总长度,包括没被初始化的元素 } vector<int> v2(10);//构造一个长度为10的容器 vector<int> v3(10,2);//构造一个长度为10的容器,并用2初始化它 vector<int> v4(v1);//构造一个容器v4,并用v1初始化它 vector<int> v5(v1.begin()+1, v1.begin()+11);//构造一个容器v5并用v1的部分元素初始化它 return 0; }
数据的访问
int _tmain(int argc, _TCHAR* argv[]) { vector<int> v1; for (int i = 0; i < 5; i++) { v1.push_back(i); } cout << "使用下标和at()读取数据" << endl; for (int i = 0; i < v1.size(); i++) { cout << v1[i] << " " << v1.at(i)<<endl; } cout << "使用下标和at()来写入数据" << endl; v1[0] = 10; v1.at(1) = 11; for (int i = 0; i < v1.size(); i++) { cout << v1[i] << " " << v1.at(i) << endl; } //使用迭代器来插入数据 vector<int>::iterator iter; iter = v1.begin(); v1.insert(iter + 1, 0); cout << "使用迭代器来遍历输出数据" << endl; for (iter = v1.begin(); iter!= v1.end(); iter++) { cout << *iter << endl; } return 0; }
其它的常用函数:
clear() 删除容器中所有元素
erase(pos) 删除pos指定位置的元素
erase(begin,end) 删除begin到end-1间的所有元素
insert(pos,elem) 在pos处插入elem,并返回新元素的位置
insert(pos,n,elem) 在pos处插入n个elem
insert(pos,begin,end) 把begin到end-1的所有元素拷贝到pos处
resize(n) 将元素个数改为n
resize(n,elem) 将元素个数改为n,如果size增加,把增加的都初始化为elem
c++11为vertor增加的新内容:
使用{}来初始化和赋值
简单地使用for来遍历元素并进行简单操作
int _tmain(int argc, _TCHAR* argv[]) { vector<int> v1= {1,2,3,4,5}; for (auto &i : v1){ i = i*i; } for (auto &i : v1){ cout << i << endl; } return 0; }
相关文章推荐
- 对vector等STL标准容器进行排序操作
- STL之二:vector容器用法详解
- STL的三个基本容器 vector list deque
- c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
- 【温故而知新】C和C++6:STL中的vector容器
- STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map
- STL-容器间的复制list&vector
- STL容器区别vector,list
- [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)
- STL顺序容器-vector
- 带你深入理解STL之Vector容器
- STL 向量容器(vector)
- C++标准库(STL)之vector容器的使用(包括特点、初始化、遍历与常用操作)
- 用Vector模拟STL下的stack容器
- STL 容器--vector
- C++ STL--vector容器用法详解
- STL容器之vector
- STL容器之vector
- 【STL】滤波算法:使用vector容器
- STL学习笔记之容器--vector(一)