VC++ 之vector使用方法.doc
文本预览下载声明
?? vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件中包含下面的代码:#include vector构造函数。??? Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。函数列表如下:Constructors 构造函数 Operators 对vector进行赋值或比较 assign() 对Vector中的元素赋值 at() 返回指定位置的元素 back() 返回最末一个元素 begin() 返回第一个元素的迭代器 capacity() 返回vector所能容纳的元素数量(在不重新分配内存的情况下) clear() 清空所有元素 empty() 判断Vector是否为空(返回true时为空) end() 返回最末元素的迭代器(译注:实指向最末元素的下一个位置) erase() 删除指定元素 front() 返回第一个元素 get_allocator() 返回vector的内存分配器 insert() 插入元素到Vector中 max_size() 返回Vector所能容纳元素的最大数量(上限) pop_back() 移除最后一个元素 push_back() 在Vector最后添加一个元素 rbegin() 返回Vector尾部的逆迭代器 rend() 返回Vector起始的逆迭代器 reserve() 设置Vector最小的元素容纳数量 resize() 改变Vector元素数量的大小 size() 返回Vector元素数量的大小 swap() 交换两个Vector
构造函数语法: vector();vector( size_type num, const TYPE val );vector( const vector from );vector( input_iterator start, input_iterator end );C++ Vectors可以使用以下任意一种参数方式构造: 无参数 - 构造一个空的vector, 数量(num)和值(val) - 构造一个初始放入num个值为val的元素的Vector vector(from) - 构造一个与vector from 相同的vector 迭代器(start)和迭代器(end) - 构造一个初始值为[start,end)区间元素的Vector(注:半开区间). 举例,下面这个实例构造了一个包含5个值为42的元素的Vectorvectorint v1( 5, 42 );运算符语法: v1 == v2v1 != v2v1 = v2v1 = v2v1 v2v1 v2 v[]C++ Vectors能够使用标准运算符: ==, !=, =, =, , 和 . 要访问vector中的某特定位置的元素可以使用 [] 操作符. 两个vectors被认为是相等的,如果: 它们具有相同的容量 所有相同位置的元素相等. vectors之间大小的比较是按照词典规则. assign函数 语法: void assign( input_iterator start, input_iterator end );void assign( size_type num, const TYPE val );assign() 函数要么将区间[start, end)的元素赋到当前vector,或者赋num个值为val的元素到vector中.这个函数将会清除掉为vector赋值以前的内容.at函数 语法: TYPE at( size_type loc );at() 函数 返回当前Vector指定位置loc的元素的引用. at() 函数 比 [] 运算符更加安全, 因为它不会让你去访问到Vector内越界的元素. 例如, 考虑下面的代码:vectorint v( 5, 1 );for( int i = 0; i 10; i++ ) {cout Element i is v[i] endl;}这段代码访问了vector末尾以后的元素,这将可能导致很危险的结果.以下的代码将更加安全: vectorint v( 5, 1 );for( int i = 0;
显示全部