vector 向量容器基础应用
2010-12-15 19:34
183 查看
S T L
Vector向量容器介绍
Vector容器是一个线性结构,用三个指针存放向量的起始字节位置、当前最后一个向量元素的末尾字节和整个容器所占用的内存空间的末尾字节。C++标准头文件vector:宏语句
l 创建vector对象
1)
Vector(const A&a = A() )
创建一个空的vector对象,A是内存分配器,此参数可以省略
vector<int> v; //空的int型vector对象
2)
Vector(size_type n)
创建一个具有n个元素的vector对象
vector<int> v(10); //具有10个元素的int型vector对象
3)
Vector(size_type n,const T&
value)
创建一个具有 n个元素的vector对象,每个元素都有初始值value
Vector<int>
v( 10, 0); //具有十个初始值为0的int型vector对象
4)
Vector( const vector&)
拷贝一个vector对象,创建一个新的vector对象
Vector<char> v1(5, ‘k’);
Vector<char> v2(v1);
5)
Vector(const InputIterator first,const
InputIterator last,const A&a = A() )
Inputiterator 为输入迭代器,拷贝迭代器区间[ first,last ) 的元素值,创建新的vector对象
Int iarray [] = {11,13,19,23,27};
Vector<int> v(iarray , iarray + 5);
l 初始化赋值
push_back 函数在容器的尾端插入新元素value
void push_back(const
T& value)
l 元素的遍历访问
Vector的元素可采用数组或迭代器的方式进行遍历访问。
#include <iostream> #include <vector> using namespace std; int main() { vector<int> v; v.push_back(23); v.push_back(15); v.push_back(38); //数组方式遍历vector for(int i = 0;i<v.size();i++) cout<<v[i]<<" "; cout<<endl; //迭代器方式遍历vector vector<int>::iterator i; for(i = v.begin();i != v.end();i++) cout<<*i<<" "; cout<<endl; return 0; }
l 元素的插入
Insert 函数
在迭代器pos所指元素前面插入一个元素x
Iterator insert (iteratror pos,const
T& x)
l 元素的删除
Erase函数 在迭代器pos所指区间[first , last)的所有元素
1)
Iterator erase (iterator pos)
2)
Iterator erase(iterator
first, iterator last)
l 元素的反向遍历
利用vector提供的反向迭代器及相应函数
1)
Reverse_iterator rbegin()
2)
Reverse_iterator rend()
l Vector的交换
利用swap算法,实现两个vector容器元素的交换
Void swap( vector &)
#include <iostream> #include <vector> using namespace std; int main() { vector<int> v; v.push_back(23); v.push_back(15); v.push_back(38); //反向遍历 vector<int>::reverse_iterator i; for(i = v.rbegin();i != v.rend();i++) cout<<*i<<" "; cout<<endl; //插入元素 v.insert(v.begin()+2,59); //删除元素 v.erase(v.begin()+1); v.erase(v.begin(),v.end()); return 0; }
l 其他常用函数
1)
bool empty()
判断容器是否为空。
2)
Size_type size()
当前容器实际元素个数。
3)
Size_type max_size()
容器的最大元素个数。
4)
Size_type capacity()
可容纳元素个数。
5)
Reference front()
容器首元素,前提不为空。
6)
Reference back()
容器末尾元素,前提不为空。
7)
Void pop_back()
删除容器末尾的一个元素。
8)
Void reverse(size_type n)
手动调整vector数据空间大小。
相关文章推荐
- vector向量容器(containers)及迭代器(iterators)在其中的应用
- vector容器的内存分配——vector向量容器(补充)——STL Introduction
- STL 向量容器(vector)
- vector向量容器
- C++ STL学习笔记二 vector向量容器
- vector向量容器元素排序与查找
- 第十章 Scala 容器基础(七):用Vector作为你指定的不可变序列
- vector向量容器
- C++ STL--vector向量容器学习笔记
- STL基础5:vector容器的使用总结
- c\c++复习基础要点12---容器vector
- 向量容器vector模板
- java入门教程-9.5Java向量(Vector)及其应用
- C++ STL入门教程(1) vector向量容器使用方法
- STL - 容器 - vector简单应用
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- STL向量容器vector
- C++STL泛型编程——vector向量容器
- 利用copy函数简单快速输出/保存vector向量容器中的数据
- STL之vector向量容器常用方法