c++模板库的一些基本使用
c++模板库的一些基本使用
1 vector常见用法
1.1 vector定义
vector<typename>name(可以理解为一维的变长数组) vector<vector<int> >name(可以理解为二维数组)
1.2 vector访问
通过下标访问;通过迭代器访问
1.3 常用函数
(1)push_back(x)在vector后面加一个元素x
(2)pop_back()删除vector的尾元素
(3)size()获取vector中的元素个数
(4)insert(it,x)在it位置处插入x
(5)erase()删除元素,erase(it)删除it位置的元素erase(first,last)删除[first,last)内的所有元素
2 set常见用法
2.1 set定义
set<typename>name set<set<int> >name内部自动排序且不含重复元素。
2.2 set访问
通过迭代器访问
2.3 常用函数
(1)insert(x)
(2)find(value)
(3)size()获取vector中的元素个数
(4)erase()删除元素,erase(it)删除it位置的元素erase(first,last)删除[first,last)内的所有元素
3 string常见用法
3.1 string定义
string str
3.2 string访问
通过下标访问,通过迭代器访问
3.3 常用函数
(1)+=
(2)length() size()
(3)insert(pos,string) insert(it,it2,it3)把串插入[it2,it3)插入到it位置
(4)erase()删除元素,erase(it)删除it位置的元素erase(first,last)删除[first,last)内的所有元素
(5)sub(pos,len)返回从pos位置开始,长度为len的字串
(6)string::npos 值为-1
(7)str.find(str2)当str2是str的字串时,返回第一次出现的位置,否则返回string::npos;
(8)str.find(str2,pos)从pos位置开始
4 map常见用法
4.1 map定义
map<typename1,typename2>mp map会以键从小到大的顺序自动排序 unordered_map
4.2 map访问
通过迭代器访问;通过下标访问
4.3 常用函数
(1)insert(x)
(2)find(key)
(3)size()获取map中的对数
(4)erase()删除元素,erase(key)erase(it)it为需要删除的迭代器erase(first,last)删除[first,last)内的所有元素
5 queue常见用法
5.1 queue定义
queue<typename>name
5.2 map访问
只能通过front()访问队首元素,back()访问队尾元素
5.3 常用函数
(1)push(x)
(2)pop()
(3)size()获取queue中的对数
(4)empty()判读queue是否为空
6 stack常见用法
6.1 stack定义
stack<typename>name
6.2 stack访问
通过top()访问
6.3 常用函数
(1)push()入栈
(2)pop()出栈
(3)size()获取stack中元素个数
(4)empty()
7 algorthm常用函数
7.1 max(),min(),abs()
abs(x)x为整数,fabs(x)x为浮点数
7.2 swap(x,y)
交换x,y
7.3 reverse(it,it2)
将在[it,it2)之间的元素进行翻转
7.4sort(begin,end,cmp)
转载于:https://www.cnblogs.com/zfc888/p/10172116.html
c++模板库的一些基本使用相关推荐
- C++ 笔记(19)— 标准模板库(STL容器、STL迭代器、STL算法、STL容器特点、STL字符串类)
C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的.独立的.不属于任何类的函数组成的.函数库继承自 C 语言. 面向对象类库: 这个库是类及其相关函数的集合. C++ 标准库包含了所有的 ...
- 提高C++性能的编程技术笔记:标准模板库+测试代码
标准模板库(Standard Template Library, STL)是容器和通用算法的强效组合. 渐近复杂度:算法的渐近复杂度是对算法性能的近似估计.它是算法集到特定性能标准集的映射.如果需要对 ...
- C++中标准模板库std::vector的实现
以下实现了C++标准模板库std::vector的部分实现,参考了 cplusplus. 关于C++中标准模板库std::vector的介绍和用法可以参考 https://blog.csdn.net/ ...
- C++中标准模板库std::pair的实现
以下用C++实现了标准模板库中的std::pair实现,参考了 cplusplus 和 vs2013中的utility文件. 关于std::pair的介绍和用法可以参考: https://blog.c ...
- STL 简介,标准模板库
作者:Scott Field 这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL. 当我第一次打算写一篇关于STL的文章的 ...
- Part10 泛型程序设计与C++标准模板库 10.1泛型程序设计及STL的结构
1泛型程序设计的基本概念 泛型程序设计: 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念 用来界定具备一定功能的数 ...
- Eigen 模板库的简介
Eigen 是一个 C++ 模板库,主要用于:线性代数.矩阵.向量.数值计算和相关算法. 一.特点: 1.通用性 支持所有矩阵,从小型固定矩阵到任意大密集矩阵.稀疏 支持所有标准数据类型,包括 std ...
- 第二十三模板 18标准模板库
//第二十三模板 18标准模板库 //1 容器 容器是包含其他对像的对像,标准C++ 库中提供了一系列的容器类 //可以分为两种类型,顺序和关联类型,顺序容器可提供对自身元素的顺序或者随机访问,关联容 ...
- 标准模板库(STL)学习指南之List链表
本文转载自天极网,原文地址:http://www.yesky.com/255/1910755.shtml.转载请注明 什么是STL呢?STL就是Standard Template Library,标准 ...
最新文章
- Jquery加载dom元素
- springmvc二十七:springmvc-ResponseBody与ResponseEntity
- python学习笔记(十一)——正则表达式
- jQuery里面的addClass讲解
- idea报错解决:Error: A JNI error has occurred, please check your installation and try again
- 能量视角下的GAN模型(二):GAN=“分析”+“采样”
- where is application controller bound to application main view
- mysql 之后_MYSQL登陆完之后如何操作???(新手求助)
- linux vim基本操作,vim基本操作笔记
- 高杰:对撞机的历史回顾与展望
- Get sdcard directory by adb
- list元素求和_LeetCode刷题实战82:删除排序链表中的重复元素 II
- python自动获取邮件数据_Python 获取测试报告内容并发送邮件
- java 图像膨胀_OpenCV3 Java图形图像上的膨胀(Imgproc.dilate)
- 单指令多数据SIMD的SSE/AVX指令集和API
- python sklearn 支持向量机_python机器学习库sklearn之支持向量机svm介绍
- metamask插件_Remix+metamask+myetherwallet+Ciper 完成主网发币(实战 十)
- 优麒麟Ubuntu20.04安装各种问题
- 深度deepin安装腾达U12无线网卡驱动
- 搭建简单的智能家居语音控制系统:树莓派+唤醒词+esp8266
热门文章
- opencv极坐标转换成直角坐标_媲美 PS,用 Python 制作酷炫极坐标全景图
- HTML自动换页相册,html版电子相册翻书特效
- 一般web放在linux那个目录下,web.py应该安装在linux的哪个目录下?
- python中关键字参数含义_python中接受任意关键字的参数
- Java自学!Java项目面试介绍
- 【深度学习】超强优化器如何与网络有机结合
- python【数据结构与算法】判断两棵树是否相等
- abb样本-感应电机与发电机手册_防爆电机如何选?
- Android运行报错avd,Android Studio出错:无法在模拟器中启动AVD
- java 线程状态_JAVA线程漫谈:线程状态与状态转换解析