【c++】容器的基本操作
操作\容器 | vector | list | string | set | stack | queue | map |
---|---|---|---|---|---|---|---|
插入 | push_bcak()、insert() | push_back() 、push_front()、insert() | append(string)、push_back(char)、insert(string) | insert() | push() | push() | insert(pair<int,int>(5,1) ) |
删除 | pop_back()、erase() | pop_back()、pop_front()、erase() | erase(string)、pop_back(char) | erase() | pop() | pop() | erase() |
取值 | front()、back() | front()、back() | at(int)、find(" or " ") |
find() |
top() | back()、front() | find() |
判空 | empty() | empty() | empty() | empty() | empty() | empty() | empty() |
大小 | size() | size() | size() | size() | size() | size() | size() |
其他 | resize(n,val) 容器变为为n个val | resize(n,val)、reverse() | substr(pos,len)、replace([,) ) |
insert
C++容器的insert()函数有以下三种用法: 最终*it=val;
//用法1:在指定位置it前“插入”值为val的元素,返回指向这个元素的迭代器,
iterator insert( iterator it, const TYPE &val );
//用法2:在指定位置it前“插入”num个值为val的元素
void insert( iterator it, size_type num, const TYPE &val );
//用法3:在指定位置it前“插入”区间[start, end)的所有元素.
void insert( iterator it, input_iterator start, input_iterator end)
erase
(1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
(2)erase(position);删除position处的一个字符(position是个迭代器)
(3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)
string类 insert
string str = "meihao";
string sstr = str.insert(0,2,'a');
cout<<sstr<<endl; //aameihao
string str = "meihao";
string sstr = str.insert(1,"hello~");
cout<<sstr<<endl; //mhello~eihao
string str = "meihao";
string sstr = str.insert(1,"hello~",3);
cout<<sstr<<endl; //mheleihao
substr
substr(pos, length)
返回一个string,包含s中从pos开始的n个字符的拷贝(pos的默认值是0,n的默认值是s.size() - pos,即不加参数会默认拷贝整个s)
replace
replace(size_t pos,size_t len,const &str)被替换位置(pos往后len个字符)
最新文章
- jQuery 日常工作集中问题
- ios蓝牙开发(五)BabyBluetooth蓝牙库介绍
- Java核心知识点学习----多线程并发之线程间的通信,notify,wait
- 基于Docker服务的java Web服务搭建
- div a 和 div >; a 的区别———后者指作用到div下一级的 a 标签 ,仅一级
- 关于Windows8.1更新后Sql Server服务消失的处理办法
- java.net.SocketException: Connection reset 解决方法
- Access之C#连接Access
- CPU 硬盘性能
- opencv-jni -调试出错taking address of temporary [-fpermissive]
- Java8一:Lambda表达式教程
- spring-mvc 集成 activeMq 常见问题 + 解决方案 (仅供参考)
- A Base Class pointer can point to a derived class object. Why is the vice-versa not true?
- Python实现批量梯度下降算法
- 安装SQL Server For Linux(Install SQL Server)
- express-generator 自动生成服务器基本文件
- 亲历H5移动端游戏微信支付接入及那些坑(一)——支付方式与坑
- shell模拟ctrl c停止
- SQL Server 断开某个数据库所有连接(还原的时候需要)
- android 内存溢出oom错误的一些小见解
热门文章
- laravel7 搜索关键字标红及手机号,身份证号隐藏
- AT1219题解
- 如何使用Google Analytics Universal Analytics增强型电子商务
- Linux----虚拟机克隆、快照、删除、
- oracle 11g生成ASH报告操作过程
- 4月16日 python学习总结 封装之property、多态 、classmethod和staticmethod
- bzoj2007/luoguP2046 海拔(平面图最小割转对偶图最短路)
- 摆烂期的Android学习笔记一
- 随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?
- SpringBoot bean映射yml中的属性举例