STL的基本操作指令
list :
Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.
assign() 给list赋值
back() 返回最后一个元素
begin() 返回指向第一个元素的迭代器
clear() 删除所有元素
empty() 如果list是空的则返回true
end() 返回末尾的迭代器
erase() 删除一个元素
front() 返回第一个元素
get_allocator() 返回list的配置器
insert() 插入一个元素到list中
max_size() 返回list能容纳的最大元素数量
merge() 合并两个list
pop_back() 删除最后一个元素
pop_front() 删除第一个元素
push_back() 在list的末尾添加一个元素
push_front() 在list的头部添加一个元素
rbegin() 返回指向第一个元素的逆向迭代器
remove() 从list删除元素
remove_if() 按指定条件删除元素
rend() 指向list末尾的逆向迭代器
resize() 改变list的大小
reverse() 把list的元素倒转
size() 返回list中的元素个数
sort() 给list排序
splice() 合并两个list
swap() 交换两个list
unique() 删除list中重复的元素
String类:
1) string s; //生成一个空字符串s
2) string s(str) //拷贝构造函数生成str的复制品
3) string s(str,index) //将字符串str内“始于位置index”的部分当作字符串的初值
4) string s(str,index, n) //将字符串str内“始于index且长度顶多n”的部分作为字符串的初值
5) string s(cstr) //将C字符串作为s的初值
6) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
7) string s(n,c) //生成一个字符串,包含n个c字符
8) string s(str.begin(),str.end()) //以区间begin():end() (不包含end())内的字符作为字符串s的初值
1) =,assign() //赋以新值
2) swap() //交换两个字符串的内容
3)+=,append(),push_back() //在尾部添加字符
4) insert() //插入字符
5) erase() //删除字符
6) clear() //删除全部字符
7) replace() //替换字符
8) + //串联字符串
9)==,!=,<,<=,>,>=,compare() //比较字符串
10)size(),length() //返回字符数量
11) max_size() //返回字符的可能最大个数
12) empty() //判断字符串是否为空
13) capacity() //返回重新分配之前的字符容量
14) reserve() //保留一定量内存以容纳一定数量的字符
15) [ ], at() //存取单一字符
16)>>,getline() //从stream读取某值
17) << //将谋值写入stream
18) copy() //将某值赋值为一个C_string
19) c_str() //将内容以C_string返回
20) data() //将内容以字符数组形式返回
21) substr() //返回某个子字符串
22)查找函数
23)begin() end() //提供类似STL的迭代器支持
24) rbegin() rend() //逆向迭代器
25) get_allocator() //返回配置器
vector动态数组
1 包含头函数 #include<vector>
2 函数的声明: vector<int> v;
vector<int> v[maxn];
vector<int> v(100,1); //100个1
3 操作常用:
v.push_back(x); 在最后添加一个元素x
v.pop_back(); 删去最后一个元素
v.begin(); 返回第一个元素的指针
v.end();返回最后一个元素的指针
v.at(n);返回n位置的元素
v.clear();清空数组
v.size();返回数组长度
v.front();返回第一个元素
v.back();返回最后一个元素
v.empty();如果数组为空返回true,否则返回false
v.resize(n);重新定义数组大小为n
set 元素
1、包含头函数: #include<set>
2、函数声明: set<int> s; (string等)
3、set是集合,不会包含重复的元素。因此可以用来查找统计不重复的元素
4、操作常用:
s.insert(x);插入元素x
s.erase(x);删除元素x(如果x存在)
if (s.find(x)!=s.end()) 判断元素是否属于集合(因为如果不属于返回值为s.end())
s.size();返回集合长度
s.empty();如果集合为空,则返回true
s.clear();清空集合
s.begin();指向第一个元素位置
s.end();指向最后一个元素后面
set<int>::iterator it; 定义一个指针
s.count(i); i 在集合中,返回 1
map 映射
1、包含头函数: #include<map>
2、 函数声明: map<int,string> m1;
map<string,int> m2;
3 map是将数据进行一对一的对应,使其更好描述。
4 操作常用:
(1)读入数据:m1[1]="the_first_one";
(2)数据大小:len=m.size();
(3) 数据遍历:for(int i=1;i<=len;i++) cout<<m1[i];
(4)数据查找:m.count() ;不能返回位置,只返回true、false;
m.find(); 返回位置指针,不在中就返回m.end();
(5)数据清空:m.clear();
queue 队列
1、包含头函数 #include<queue>
2、声明: queue<int> q;
3、queue在队列的使用中,较自定义的数组更方便,所以常使用在广搜中。
4、操作常用:
q.empty();如果队列为空则返回true
q.front();返回队列第一个值
q.pop();删除队列最后一个
q.push(x);添加x到队列最后
q.size();返回队列长度
(资料为搜索所得,如有侵权,联系立删)
STL的基本操作指令的更多相关文章
- 【docker 一】入门实践、环境部署、基本操作指令、镜像库、数据卷
简述 `docker是如火如荼的容器技术,今后会陆续上传关于微服务技术的学习笔记,希望能和大家一起学习一起分享!` docker环境搭建 1.获取最新版的Docker安装包 $ wget -qO- h ...
- [Django]用户权限学习系列之User权限基本操作指令
针对Django 后台自带的用户管理系统,虽说感觉还可以,但是为了方便用户一些操作,特别设计自定义的用户权限管理系统. 在制作权限页面前,首先需要了解权限和用户配置权限的指令,上章讲到权限的添加,删除 ...
- Mysql基本操作指令集锦
一.MySQL服务的启动.停止与卸载 在 Windows 命令提示符下运行: 启动: net start MySQL 停止: net stop MySQL 卸载: sc delete MySQL 二. ...
- Git基本操作指令
Git是世界上目前最先进的分布式版本控制系统. 工作原理图: Workspace工作区,Index暂存区,Repository本地仓库区,Remote远程仓库. SVN与Git的最主要的区别? SVN ...
- shell 环境下MySQL的基本操作指令总结
一.对数据库的基本操作 show databases; //列出数据库use database_name; //使用databas ...
- Linux基本操作指令
Linux操作指令 到达当前用户目录:cd ~ 获得管理员权限执行:sudo 解压缩:tar -zxf XXX.tgz 安装包:dpkg -i XXX.deb 通过链接下载文件:wget http: ...
- 从零开始学Linux系统(二)之基本操作指令
ifconfigping ip地址帮助:ping -t ip地址ping -c 次数 ip地址ping -s 包的大小关机重启:shutdown -h now reboot清屏:clear == C ...
- 服务器学习--Linux基本操作指令
小编后续会持续更新 1.修改服务器的hostname [root@mexihq ~]# hostname [root@mexihq ~]# hostnamectl set-hostname xxx P ...
- memcached基本操作指令
item执行命令: 第一行:Key Flags ExpirationTime BytesKey:Key 用于查找缓存值Flags:一个32位的标志值,客户机使用它存储关于键值对的额外信息Expirat ...
随机推荐
- python 关于文件操作
,要求在文件 .py 第六行插入一句话: #cat /root/python/2.py 2 昨夜雨疏风骤1 3 昨夜雨疏风骤2 4 昨夜雨疏风骤3 5 昨夜雨疏风骤4 6 昨夜雨疏风骤5 7 昨夜雨疏 ...
- 在eclipse中从cvs下载项目,再部署到tomcat常见错误!
1.先调出cvs视图 如果cvs插件还未安装,下载一个: 安装cvs插件:将features和pluguns文件夹里面的内容分别复制到eclipse安装路径下面对应的features和pluguns文 ...
- CentOS6.8合并DVD1和DVD2作为本地yum源
转载自:http://www.study365.org/blog/45.html CentOS一般都会提供DVD1和DVD2两个镜像文件,形如CentOS-6.8-x86_64-bin-DVD1.is ...
- D. Time to go back(思维)
题目链接:http://codeforces.com/gym/100952/problem/D 题目大意:n个礼物,m个人,要给m个人中的k个人买大于等于d的礼物,其他人随意,问你选择礼物的方案数(不 ...
- markdown自动生成侧边栏TOC /目录
http://blog.csdn.net/haleypku/article/details/51226704 此文可以只了解一下概念: http://i5ting.github.io/i5ting_z ...
- MySQL报错解决方案:2013-Lost connection to MySQL server
今天上课的时候,在搭建完MySQL测试环境中出现的问题,整理如下: 问题描述:搭建完MySQL,用远程连接工具(Navicat)连接时报错: 2013-Lost connection to MySQL ...
- Qemu-KVM管理
内容: 一.KVM基本配置 二.KVM网络的桥接 三.创建虚拟机 四.虚拟机的关闭和启动 关于KVM: 1).KVM是开源软件,全称是kernel-based virtual machine(基于内核 ...
- mysql定时任务用到存储过程和定时任务
需求: 需要将t_app_message中的消息(将要被发送的消息)给每一个学生发送一遍,并且在发送完成后,将消息置为已发送状态已发送状态. 一言不合上代码 /*删除存储过程*/ drop proce ...
- P5238 整数校验器
题目地址:P5238 整数校验器 显然这道题不算难,细心即可AC 细节见代码中的注释 #include <bits/stdc++.h> #define ll long long using ...
- 动态规划 - 198. House Robber
URL : https://leetcode.com/problems/house-robber/ You are a professional robber planning to rob hous ...