STL学习之vector容器
来源:互联网 发布:yy免费协议软件 编辑:程序博客网 时间:2024/05/16 15:25
一、创建vector对象
1、vector<int> ival; 创建一个空的整形的容器对象ival。
2、vector<int> ival(n);创建一个具有n个元素的整形vector对象。
3、vector<int> ival(n,value);创建一个具有n个元素的vector对象,每个对象初始值为value。
4、vector<char> ival1(ival2);通过拷贝一个vector对象的各个元素值,创建一个新的vector对象。eg:vector<char> v1(5,'a');vector<char> v2(v1);
5、vector<int> ival(const inputeriterator first , const inputeriterator last) ; inputeriterator为输入迭代器,通过拷贝迭代器区间[ first,last)的元素值,创建一个新的vector对象。
eg:int iArray[] = {1,2,3,4,5,6,7,8,9} ; vector<int> ival( iArray , iArray+5);
二、初始化赋值
vector提供push_back函数来对vector对象进行赋值和初始化。格式为 ival.push_back(const T& value)
三、元素的遍历访问(假设我们已定义了一个整形vector对象ival)
1、利用数组方式访问
print(vector<int>& ival))
{
for(int i =0;i<ival.size();i++)
{
cout<<ival[i]<<endl;
}
}
2、利用迭代器方式访问
print(vector<int>& ival))
{
for(vector<int>::iterator i =ival.begin() ; i != ival.end();i++)
{
cout<< *i <<endl;
}
}
备注:ival.begin()返回ival的首元素地址,ival.end()返回ival的尾元素地址+1.级访问的有效区间是 [ ival.begin(),ival.end())
四、元素的插入
ival.insert(iterator pos,const T& x); 即在pos后面将元素x插入
ival.insert(ival.begin()+5,9) 在ival.begin()+5这个位置后面讲9插入到ival中
五、元素的删除
iterator erase(iterator pos) 删除元素地址为pos的元素。
iterator erase(iterator first , iterator last) 删除元素地址区间为[ first , last]的所有元素。
void clear() 清除所有vector元素。
六、元素的反向遍历
反向迭代器 reverse_iterator
reverse_iterator rbegin()
reverse_iterator rend()
通过rbegin()和rend()可以对vector容器的元素。
print(vector<int>& ival))
{
for(vector<int>::reverse_iterator i =ival.rbegin() ; i != ival.rend();i++)
{
cout<< *i <<endl;
}
}
七、vector的交换 vector<int> ival1,ival2 ;
交换函数 void swap(vector&)
将ival1,ival2交换的具体调用方式有两种
1、ival1.swap(ival2);
2、swap(ival1 , ival2)
八、其他常用函数
1、bool empty() 判断vector容器是否为空,具体调用为ival.empty() 。
2、size_type size() 当前vector容器的十几元素个数,具体调用为ival.size() 。
3、size_type max_size() 系统所允许的vector容器最大元素个数,具体调用为ival.max_size() 。
4、size_type capacity() 当前容器可容纳的元素个数,具体调用为ival.capacity() 。
5、reference back() ; 返回vector容器的末元素(引用),要求vector不为空,具体调用为ival.back() 。
6、reference front() ; 返回vector容器的首元素(引用),要求vector不为空,具体调用为ival.front() 。
7、void pop_back() ; 和push_back()相反的函数,pop_back用于删除末尾一个容器的元素,具体调用为ival.pop_back() ;
- STL学习之vector容器
- 初学者学习C++STL之vector容器
- STL容器之vector
- STL容器之 vector
- STL之vector容器
- STL容器之vector
- STL容器之vector
- STL 之 vector 容器
- STL之vector容器
- STL容器之vector
- STL容器之vector
- STL之vector容器
- STL之vector容器
- STL容器之Vector
- STL容器之vector
- STL容器之vector
- STL容器 之 vector
- STL容器之vector
- 大家好我又滚回来了
- hdu1213
- shell脚本学习 三
- 257 Binary Tree Paths
- 《机器学习与R语言》读书笔记1:机器学习简介
- STL学习之vector容器
- TestCase V2.0版本
- 讯飞语音万能五笔超强手写3合1输入法:
- Objective-C 基础知识之 (十七):内存管理原则二
- C#编写NotifyIcon 将窗口最小化到托盘
- Arraylist和Vector源码学习笔记
- NSURLSession和NSURLConnection比较
- 获取数组元素的个数
- quick-union【连通图】