oracle erase,c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。
include
c++ stl容器vector的成员函数介绍: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)包含头文件#include
(2)创建vector对象:vector vec;
(3)尾部插入数字:vec.push_back(a);
(4)使用下标访问元素:cout<
(5)使用迭代器遍历访问元素.vector::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<
(6)插入元素:vec.insert(vec.begin()+i,a); //在第i+1个元素前面插入a;
(7)删除元素:vec.erase(vec.begin()+2); //删除第3个元素vec.erase(vec.begin()+i,vec.end()+j); //删除区间[i,j-1];区间从0开始
(8)向量大小:vec.size();
(9)清空:vec.clear();
c++ stl容器vector用法详细代码#include
#include
#include
#include
using namespace std;
typedef struct rect
{
int id;
int length;
int width;
//对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,width升序排序。
bool operator
{
if(id!=a.id)
return id
else
{
if(length!=a.length)
return length
else
return width
}
}
}Rect;
int main()
{
vector vec;
Rect rect;
rect.id=1;
rect.length=2;
rect.width=3;
vec.push_back(rect);
vector::iterator it=vec.begin();
cout<
return 0;
}
oracle erase,c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件相关推荐
- c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
Vectors 包含着一系列连续存储的元素,其行为和数组类似.访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线 ...
- cqueue结构pop_c++ stl栈容器stack的pop(),push()等用法介绍及头文件
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,--也就是说实现了一个先进后出(FILO)的数据结构. c++ stl栈stack的头文件为: #include c++ ...
- vector 清空 Linux,STL容器vector基础用法小结
STL容器vector基础用法小结根据<ACM程序设计>写的,用实例展示vector用法. 方法:push_back(), insert(), erase(), clear(), size ...
- C++STL容器vector
vector简介 vector模塑出一个dynamic array,即动态数组.它本身是一个 "将元素置于dynamic array加以管理的抽象概念",属于序列式容器. 使用条件 ...
- C++ STL容器vector篇(一) vector容器存放内置和自定义数据类型并遍历
写在前面 存放内置数据类型 代码 存放自定义数据类型 代码 总结 写在前面 本文算是B站黑马C++课程STL-vector部分的一个总结, 包含自己的一些想法(都在代码里了). 存放内置数据类型 以i ...
- c++容器vector删除元素erase()与迭代器的使用
写代码时用 for 循环删除 vector 中的元素发现总是报错,后来最细看了下 erase() 方法发现 erase()方法使用后原来的迭代器失效,返回新的迭代器. 正确的使用方法是: #inclu ...
- C++ STL容器vector篇(三) vector容器大小和数组大小, 插入和删除元素, 存储和读取元素
vector容器的大小(capacity)和存放数据的大小(size) #include <iostream> #include <vector>using namespace ...
- C++ STL: 容器vector源码分析
文章目录 前言 vector的核心接口 vector push_back实现 vector 的 Allocator vector 的 push_back 总结 前言 vector 是我们C++STL中 ...
- C++ STL 容器 vector
1 vector简介 顺序存储, 初始化过程会分配一定量空间, 在尾部插入会很快, 但是在中间插入元素, 会把之后所有元素向后平移, 所以较慢(中间删除元素同理). 如果元素个数超过当前限制, 会重新 ...
最新文章
- linux中readl()和writel()函数---用于读写寄存器
- python遍历目录,获取指定文件
- 关于windows10用c++部署libtorch过程中遇到的一些问题
- 以前是传xml的吗_明明不太合适但是还是被用在配置文件和数据传输上的XML
- ​insert带来的TiDB集群性能瓶颈排障
- des和aes相比较有哪些特点_高精度的交叉滚子轴承与传统轴承相比较,有哪些优点?...
- 网络工程师之子网划分
- 2022年湖北工业大学招生简章之高起专、专升本非全日制学历提升
- Suse Linux 10无法使用SSH进行登陆
- c语言反步法编程,CCM模式下Boost电路的反步法非线性控制与仿真.pdf
- 【Go】Go语言中反射包的实现原理(The Laws of Reflection)
- 如何永久关闭QQ广告弹窗
- “删库跑路”,这背后的数据安全你悟到了吗?
- Hive分组 条件 分区排序 CLUSTER BY, Sort By,DISTRIBUTE BY
- 1045-Access denied for user 'root'@ip(useing password YES)远程连接
- Facebook营销策略大全,脸书营销技巧详细教程
- 如何升级npm的版本
- 1.11 Illustrator视图的预览模式 [Illustrator CC教程]
- 浅析image,imagesc,imshow的用法
- 计算机基础------操作系统
热门文章
- ITextSharp导出PDF表格和图片(C#)
- 怎么看tomcat连接的哪个mysql_如何验证tomcat和mysql连接成功呢
- 中文表示什么_中文分词是个伪问题
- PreparedStatement设置时间
- catch所有提示的异常类型,程序执行异常时却还是没有报错,异常没有被catch到吗[已解决]
- 嵌入式Linux内核优化裁剪
- 路由协议之间的经典对比
- android 讲程序设为默认主屏幕_轻松搞定 PC 副屏,双屏幕更方便!
- kafka创建topic_Kafka系列第三篇!10 分钟学会如何在 Spring Boot 程序中使用 Kafka 作为消息队列?...
- 2018-12-28