首页 > 其他分享 >vector

vector

时间:2024-02-01 15:23:53浏览次数:17  
标签:begin end 元素 back vector vec

vector的定义与特性

为动态数组,可以存储一系列相同类型的元素。头文件<vector>
vector<类型> 变量名;
会根据元素数量自动分配内存空间

可以使用索引访问,索引(下标)从0开始,最后一个元素的索引为size() - 1,但是不可以写成i<=size()-1,因为size为整数未定型,这样写会变得很大,会出问题,可以强制转换为(int)size()-1,或者直接写成i<size()
可以用[]运算符访问。
push_back()函数在vector末尾添加元素,pop_back()函数删除末尾元素,可以用insert()函数在指定位置插入元素,如在1这个位置插入则后面的234向后推,使用erase()函数删除指定位置元素。
可以使用size()函数获取vector中元素的数量,使用empty()函数检查vector是否为空。也可以用resize()函数调整vector的大小。
vector提供了迭代器.begin()与.end()

vector的常用函数

push_back(); pop_back();用pop_back时vector一定不可以为空

迭代器

for(auto it = vec.begin(); it != vec.end; it++){
	cout<<*it<<endl;
}

vevctor的排序去重

sort(vec.begin, vec.end());
去重前先[[排序]]

auto last = unique(vec.begin(), vec.end());//将重复的排到后面
vec.erase(last, vec.end());//将后面重复的元素去除

经典代码

vec.erase(unique(vec.begin(), vec.end()), vec.end());//去重

vec.erase(vec.begin() + 4);//将第5个元素删除。

标签:begin,end,元素,back,vector,vec
From: https://www.cnblogs.com/breadcheese/p/18001342

相关文章

  • dremio vectorized Parquet Reader v2 支持
    dremio从24.3开始支持parquetv2writer同时性能提升还是很明显的对于读官方在TPC-DS测试中,最低有22%左右的,最高97%,平均77%左右写入同样也是TPC-DS中,存储降低24%左右,写入提升1.5%左右,如果开启了c3读性能提升6.4%开启ui配置(全局)可以通过supportkeysql配置(全......
  • 如果在循环中不改变vector的大小,C++编译器是否会将.size()优化为常数?
      在C++中,可以使用以下代码计算vector<int>中所有元素的和:vector<int>v={1,3,7,9};sums=0;for(inti=0;i<v.size();i++){sums+=v[i];}  这是一段很普通的代码,问题在于:在这段代码中,v.size()会在循环开始前仅计算一次?还是会在每次循环中都计算一次......
  • C转C++速成浅入浅出系列——STL之vector
    本系列为应付考研复试用,知识浅入浅出,很多地方不深究细节原理;如有谬误,欢迎大家指出。vector【vector:矢量,向量】理解为向量、动态数组等。我想在我这种入门阶段,最常用的还是其动态数组的功能。需提供头文件#include<vector>创建可指定数组大小,和所有值的初始值;数组大小初始值......
  • vector的使用
    1、基本概念vector是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector是C++STL的一个重要成员,使用它时需要包含头文件:1#include<vector>构造函数与初始化: vector的构造函数用来构造vector容器,函数原型为:1vector<T>v;//......
  • vector 和 list的区别
    vectorlist定义动态数组双向链表增加push_backpush_back,push_front,insert删除pop_backpop_back,pop_front,remove排序头文件sort成员函数sortlist经过排序、插入操作后,迭代器不会失效,仍指向原来的元素#include<iostream>#include<list>......
  • STL-vector向量
    STL-vector向量目录STL-vector向量1.头文件2.构造函数3.索引存取元素4.遍历元素4.capacity相关5.插入元素6.删除元素7.排序和翻转8.底层原理9.特殊记忆函数总结参考资料vector数组是一个能存放任意数据类型(类,结构,普通变量类型等)的动态数组,在数据结构中就相当于顺序储存的线性......
  • win10上安装PostgreSQL的 vector扩展
    win10上安装PostgreSQL的vector扩展错误:extension"vector"isnotavailable\nDETAIL:Couldnotopenextensioncontrolfile"D:/ProgramFiles/PostgreSQL/16/share/extension/vector.control":Nosuchfileordirectory.\nHINT:Theextensionmus......
  • C++ ——vector数组笔记
     vector是C++标准库中的一个动态数组容器(SequenceContainer),它可以自动管理内存大小,可以在运行时根据需要动态增长或缩小。它是一个非常常用且强大的容器,用于存储一系列元素。可以简单的认为,vector是一个能够放任意类型的动态数组。下面详细介绍 vector 的使用方法......
  • 22String字符串和vector对象的迭代器iterator实现
    String字符串对象的迭代器iterator实现泛型算法参数接收的都是迭代器泛型算法是一组全局的函数,适用于所有容器基于第二点,泛型算法有一套方法可以统一地遍历所有容器的元素classString{public: //嵌套定义iterator类 classiterator { private: char*_p;//没有用......
  • SciTech-Math-AdvancedAlgebra-Linear Spaces(Vector Spaces) and Subspace: The Colu
    https://math.mit.edu/~gs/dela/dela_5-1.pdfhttps://people.math.harvard.edu/~knill/teaching/math22b2019/handouts/lecture01.pdfhttps://web.stanford.edu/group/dabmgroup/cgi-bin/dabm/wp-content/uploads/2021/12/Lecture_14.pdfN-elementorderedNumberSequence......