C++ STL 学习笔记 vector
来源:互联网 发布:如何学java软件开发 编辑:程序博客网 时间:2024/04/28 14:36
vector:
向量容器,动态数组,类模板
定义和初始化:
vector<T> v1; //v1是空vector,元素类型是T类型,执行默认初始化,int为0,string为空串vector<T> v2(v1); //v2中包含有v1所有元素的副本vector<T> v3(n,val); //v3包含了n个重复的元素,每个元素的值都是valvector<T> v4(n); //v4包含了n个重复的执行了值初始化的对象vector<T> v5{a,b,c,...} //以大括号中的元素初始化
vector中的操作
v.push_back(val) //向v的末端添加一个值为val的元素v.pop_back() //删除最后一个元素v.empty() //如果v不含任何元素,返回true,否则返回falsev.size() //返回v中元素个数,类型为vector<T>::size_typev1==v2 //v1等于v2仅当他们的元素个素相等,以及各位置所对应的元素的值相等<,<=,>,>= //以字典序进行比较v[i] //通过下标访问v中第i个元素,不能用此添加,如果v为空就没有下标v.erase(iterator position) //删除指定位置的元素v.erase(iterator begin,iterator end) //删除指定范围的元素v.insert(it,val) //在迭代器it前插入一个值为val的元素
迭代器:iterator
C++ STL 中各容器都有相应类型的iterator;一般使用iterator来访问容器中的元素。
iterator的声明方式
例:string:: iterator it;vector<T>:: iterator it;
学习代码
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ vector<int> v; v.push_back(50); v.push_back(2991); v.push_back(23); v.push_back(9999); cout << "向量v里面的数据:" << endl; vector<int>::iterator i = v.begin(); while (i != v.end()) { cout << *i << endl; ++i; } vector<int>::iterator iElement = find(v.begin(), v.end(),2991);//find()包含在algorithm头文件中 if (iElement != v.end()) { int nPosition = distance(v.begin(), iElement); //distance()包含在algorithm头文件中 cout << "Value" << *iElement << endl; cout << "nPosition" << nPosition << endl; } getchar(); return 0;}
0 0
- STL学习笔记【vector】
- 【STL】vector学习笔记
- 【STL 学习笔记】vector
- STL vector学习笔记
- STL学习笔记-vector
- C++stl学习文档 vector
- STL 学习笔记 ( 二. vector )
- C++ STL 学习笔记 vector
- c++ STL学习笔记-----vector
- STL之vector学习笔记
- STL中的vector学习笔记
- C++vector学习笔记
- C++STL学习笔记
- C++STL学习笔记
- 初学者学习C++STL之vector容器
- C++STL学习(1)容器vector
- STL学习笔记1(CArray与vector)
- STL学习笔记1(CArray与vector)
- 数学题-leetcode
- 2分钟教你怎样在eclipse上集成maven,,,,
- Codeforces Round #360 (Div. 1) D. Dividing Kingdom II 暴力,二分图,并查集
- web第三节课作业
- Kali Linux安装之后需要做的一些事
- C++ STL 学习笔记 vector
- Spring框架中的定时器quartzquartz如何使用和配置
- java的volatile和synchronized
- POJ 2955 (区间dp,划分区间求解)
- 装2个xcode后git重新指向问题
- poj 2560 Freckles
- 网页引入特殊字体的几种方案
- 笔记 计算机网络-OSI参考模型
- 手机短信验证