c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
2017-08-03 17:38
639 查看
本文导语:
Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。 &...
Vectors 包含着一系列连续存储的元素,其行为和
4000
数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。
[b]c++[/b] [b]stl[/b][b]容器[/b]vector的[b]头文件[/b]为: #include <vector>
c++
stl容器vector的成员[b]函数[/b]介绍:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Constructors构造函数 Operators对vector进行赋值或比较 vector::assign()对Vector中的元素赋值 vector::at()返回指定位置的元素 vector::back()返回最末一个元素 vector::begin()返回第一个元素的迭代器 vector::capacity()返回vector所能容纳的元素数量(在不重新分配内存的情况下) vector::clear()清空所有元素 vector::empty()判断Vector是否为空(返回true时为空) vector::end()返回最末元素的迭代器(译注:实指向最末元素的下一个位置) vector::erase()删除指定元素 vector::front()返回第一个元素 vector::get_allocator()返回vector的内存分配器 vector::insert()插入元素到Vector中 vector::max_size()返回Vector所能容纳元素的最大数量(上限) vector::pop_back()移除最后一个元素 vector::push_back()在Vector最后添加一个元素 vector::rbegin()返回Vector尾部的逆迭代器 vector::rend()返回Vector起始的逆迭代器 vector::reserve()设置Vector最小的元素容纳数量 vector::resize()改变Vector元素数量的大小 vector::size()返回Vector元素数量的大小 vector::swap()交换两个Vector |
c++ stl容器vector基本操作:
(1)包含头文件
1 | #include<vector> |
1 | vector<int> vec; |
1 | vec.push_back(a); |
1 | cout<<vec[0]<<endl; //记住下标是从0开始的。 |
1 2 3 | vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl; |
1 | vec.insert(vec.begin()+i,a); //在第i+1个元素前面插入a; |
1 | vec.erase(vec.begin()+2); //删除第3个元素 |
1 | vec.erase(vec.begin()+i,vec.end()+j); //删除区间[i,j-1];区间从0开始 |
1 | vec.size(); |
1 | vec.clear(); |
stl容器vector用法详细代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include<stdio.h> #include<algorithm> #include<vector> #include<iostream> using namespace std; typedef struct rect { int id; int length; int width; //对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,width升序排序。 bool operator< (const rect &a) const { if(id!=a.id) return id<a.id; else { if(length!=a.length) return length<a.length; else return width<a.width; } } }Rect; int main() { vector<Rect> vec; Rect rect; rect.id=1; rect.length=2; rect.width=3; vec.push_back(rect); vector<Rect>::iterator it=vec.begin(); cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl; return 0; } |
相关文章推荐
- c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
- c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
- list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空empt
- 删除vector容器中的对象元素的三种方法:pop_back, erase与remove算法
- 剖析STL容器遍历删除时诡异的erase(iter++)
- 基本的文件 I/O 用法:1.复制目录及其文件 2.文件创建,写入,读取,删除,复制
- 剖析STL容器遍历删除时诡异的erase(iter++) http://bbs.csdn.net/topics/100044107
- 实现Vector容器的增加、删除、排序(算法函数排序)、遍历、复制操作
- vector::erase():容器删除
- C++ stl使用之vector的基本使用和遍历
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- STL容器的遍历删除操作erase
- list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空emp
- vector.erase()用法介绍及注意事项;
- c++ stl容器set成员函数介绍及set集合插入,遍历等用法举例
- STL中容器使用erase()遍历删除
- C++ 有关STL中容器vector的操作 初始化 遍历 删除
- Vector容器的基本用法
- CCArray数组或者vector容器元素在遍历时删除的删除技巧
- list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空emp