STL-vector容器-各种操作
发布日期:2021-11-20 10:17:55
浏览次数:9
分类:技术文章
本文共 2097 字,大约阅读时间需要 6 分钟。
1.对vector容器的容量和大小操作
函数原型:
empty():判断容器是否为空 capacity():容器的容量 size():返回容器中元素的个数resize(int num):重新指定容器的长度为num,若容器变长,则以默认值填充新位置,若变短,则末尾超出容器长度的元素被删除
resize(int num, elem):重新指定容器的长度为num,若容器变长,则以elem值填充新位置,若变短,则末尾超出容器长度的元素被删除
2.插入和删除操作:
函数原型: push_back():尾部插入元素elemvector arr;arr.push_back(1);arr.push_back(2);arr.push_back(3);
这样插入元素后容器arr内部元素分别是1,2,3。
pop_back():删除最后一个元素
insert(const_iterator pos,ele):迭代器指向位置pos插入元素ele insert(const_iterator pos,int count,ele):迭代器指向位置pos插入count个元素ele erase(const_iterator pos,ele):删除迭代器指向的元素 erase(const_iterator start,const_iterator end):删除迭代器从start到end之间的元素 clear():删除容器中所有元素3.数据存取操作
at(int idx):返回索引idx所指的数据 operator[]:返回索引idx所指的数据 front():返回容器中第一个数据元素 back():返回容器中最后一个数据元素#include "pch.h"#include#include #include #include using namespace std;void printvector(vector &v) { for (vector ::iterator it = v.begin(); it != v.end(); it++) { cout << *it << ""; } cout << endl;}void test01() { vector v1; for (int i = 0; i < 10; i++) { v1.push_back(i); } printvector(v1); //对vector容器的容量和大小操作 if (v1.empty()) { //为真,则为空 cout << "v1为空" << endl; } else { cout << "v1不为空" << endl; cout << "v1的容量为:" << v1.capacity() << endl;//13,容量大于等于大小 cout << "v1的大小" << v1.size() << endl;//10 } v1.resize(15);//如果重新指定的比原来的长了,默认用0填充新的位置, v1.resize(15, 100);//如果重新指定的比原来的长了,用100填充新的位置 v1.resize(5);//如果重新指定的比原来的短了,超出部分会删除掉 //插入和删除操作: //尾插 vector v2; v2.push_back(10); v2.push_back(20); v2.push_back(30); v2.push_back(40); v2.push_back(50); printvector(v2); //尾删 v2.pop_back(); printvector(v2); //插入 v1.insert(v1.begin(), 100); printvector(v2); v1.insert(v1.begin(), 2,100);//利用重载 //删除 参数是迭代器 v1.erase(v1.begin()); //数据存取操作 vector v3; for (int i = 0; i < 10; i++) { v3.push_back(i); } //利用[]方式访问数组中元素 for (int i = 0; i < v3.size(); i++) { cout << v1[i] << endl; } //利用at方式访问元素 for (int i = 0; i < v3.size(); i++) { cout << v1.at(i) << endl; } //获取第一个元素 cout << v1.front() << endl; //获取最后一个元素 cout << v1.back() << endl;}int main(){ }
转载地址:https://blog.csdn.net/weixin_43223362/article/details/103112833 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月20日 21时12分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【C++】攻克哈希表(unordered_map)
2019-04-27
转:【答学员问】- 该如何根据岗位学习相关技能
2019-04-27
转:【答学员问】有什么经验教训,是你在面试很多次之后才知道的?
2019-04-27
消息队列:解耦、异步、削峰,现有MQ对比以及新手入门该如何选择MQ?
2019-04-27
【奇技淫巧】-- 三角形最小路径和
2019-04-27
【小技巧】argc和argv的用法
2019-04-27
学不下去了怎么办?
2019-04-27
二叉树的前中后序遍历(迭代法)(带动画)
2019-04-27
【小技巧】【XShell】【Xftp】Windows桌面与Linux虚拟机互传文件
2019-04-27
【redis入门】Centos下安装redis
2019-04-27
【redis入门】redis安装后相关知识串讲
2019-04-27
【redis】来吧,展示一下redis 发布-订阅模式
2019-04-27
当下热点词再学:redis缓存预热、更新、降级,限流
2019-04-27
【redis6.0.6】redis源码慢慢学,慢慢看 -- 第五天:adlist
2019-04-27
别抖,OK? 操作系统抖动现象、网络抖动与延迟、函数抖动之防抖与节流,串讲
2019-04-27
通过域名获取主机IP -- struct addrinfo
2019-04-27
【C++】算法集锦(8):从两数和问题拓展到一百数和问题
2019-04-27