栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

c++学习之 关于vector的一些小知识

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++学习之 关于vector的一些小知识

1.头文件

#include

2.初始化

vector test; //默认初始化 

vector test2(test1); 或 vector test2 = test1; //拷贝复制

vector test = {1,2,3,4,5,6,7}; //直接赋值初始化

int a[] ={1,2,3,4,5};
vector test(a,a+5);
//通过数组初始化

vector test(7,3);//初始化test时在list中压入7个值为3的元素,若“3”的部分缺省,则会在test中压入7个0。

vector< vector > test(i,vector(j,val));   //定义一个 i * j 的值为val的int型二维向量

3.添加函数

int i = 1;

test.push_back(i);   //将1加入到vector中

test.insert(test.begin() + i,val);   //在test的第i个元素的位置插入值为val的元素。例如test 为1,2,3,4。i为1的情况下变为 1,val,2,3,4。

test.insert(test.begin() + i,k,val);   //在test的第i个元素位置插入k个值为val的元素。

test.insert(test.begin() + i,a + j,a + k);   //a为数组,在test的第i个位置插入a的第j到k的元素(不包括a + k)。例如v1.insert(v1.begin(),v2.begin(),v2.end());就是将v2加入到v1前。

4.删除函数

test.pop_back();   //删除容器中最后一个元素,该容器size会发生减1,但容量capacity不变。

test.erase(test.begin() + i);   //删除vector容器中第i(i = 0,1,2,...)位置上的元素。

test.erase(test.begin() + i , test.begin() + j);   //删除第 i 到 j - 1(i,i+1,i+2,...,j-2,j-1)的元素。   

test.remove(test.begin() + i,test.begin() + j,val);   //删除第i到j范围内等于val的值,但该方法只是把val移到末尾,并不是真的删除。不会改变容器的大小和容量。

test.clear();   //将容器清空,改变大小不改变容量。

5.遍历函数

test.at(i);   //得到i位置的数据,相当于test[i];

test.begin();   //得到数组头指针,指向第1个元素

test.end();   //返回向量尾指针,指向向量最后一个元素的下一个位置

test.front();   //返回第一个元素

test.back();   //返回最后一个元素

//得到数组第一个元素用test.begin()或者test.front()。得到最后一个元素则是test.end() - 1 或 test.back();

6.其他函数

test.size();   //使用数据的大小,即返回向量中元素的个数

test.capacity();   //容量,当前vector分配的大小

test.empty();   //判断是否为空,bool类型,如果为空返回true,否则false;

test.max_size();   //得到vector最大可以是多大;

test1.swap(test2);   //交换test1和test2;

7.其他用法

排序用法

sort(test.begin(),test.end());   //将vector整体进行快排,默认小到大。 

sort需要头文件   #include

如果需要降序,可重写规则

bool compare(int a,int b)
{
return a > b; //降序排列,如果改为return a }

sort(test.begin(),test.end(),compare);   //降序

倒置用法

需要头文件   #include

reverse(test.begin(),test.end());   //对test进行倒置,比如1,2,3,4变为4,3,2,1。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号