无痛转c++刷题 之 vector 容器
标签搜索
侧边栏壁纸
  • 累计撰写 10 篇文章
  • 累计收到 161 条评论

无痛转c++刷题 之 vector 容器

羔羊治小孩儿
2024-09-01 / 0 评论 / 45 阅读 / 正在检测是否收录...

ps:没有自动保存,电脑蓝之后又丢失了
c刷题入门因为我通常使用python刷题,所以再去用c的时候会有一些地方很难受

vector:

参考:https://blog.csdn.net/wkq0825/article/details/82255984

// 初始化
vector<int> a(10);  //也可以不给出长度,或者(10,1)给定初值
// 增
a.push_back(5); //在a的最后一个向量后插入一个元素,其值为5
a.insert(a.begin()+1,5); //在a的第2个元素的位置插入数值5,如a为1,2,3,4,插入元素后为1,5,2,3,4

// 删
a.clear(); //清空a
a.pop_back(); //删除a向量的最后一个元素
a.erase(a.begin()+1,a.begin()+3); //删除a中第1个(从第0个算起)到第2个元素,也就是说删除的元素从a.begin()+1算起(包括它)一直到a.begin()+3(不包括它)

// 改

// 查
a.back(); //返回a的最后一个元素
a.front(); //返回a的第一个元素
a[i];
// 特别地
a.size(); //返回a中元素的个数;
a.resize(10); //将a的现有元素个数调至10个,多则删,少则补,其值随机,a.resize(10,2);是初值为2
a.empty(); //判断a是否为空,空则返回ture,不空则返回false
a.swap(b); //b为向量,将a中的元素和b中的元素进行整体性交换
vector<int> a(b); //复制b到一个新的a
vector<int> a(b.begin(),b.begin+3); //定义了a值为b中第0个到第2个(共3个)元素
a.assign(b.begin(), b.begin()+3); //b为向量,将b的0~2个元素构成的向量赋给a
vector<int> a(b,b+7); //同理?
a.assign(4,2); //使a只含4个元素,且每个元素为2
//#include<algorithm>
1)sort(a.begin(),a.end()); //对a中的从a.begin()(包括它)到a.end()(不包括它)的元素进行从小到大排列
(2)reverse(a.begin(),a.end()); //对a中的从a.begin()(包括它)到a.end()(不包括它)的元素倒置,但不排列,如a中元素为1,3,2,4,倒置后为4,2,3,1
(3)copy(a.begin(),a.end(),b.begin()+1); //把a中的从a.begin()(包括它)到a.end()(不包括它)的元素复制到b中,从b.begin()+1的位置(包括它)开始复制,覆盖掉原有元素
(4)find(a.begin(),a.end(),10); //在a中的从a.begin()(包括它)到a.end()(不包括它)的元素中查找10,若存在返回其在向量中的位置
0

评论 (0)

取消