STL 自学
STL
一、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 自学的更多相关文章
- C++ STL自学总结,仅供参考
本文内容,为博主在网上看到资料总结整合而来 一.stl格式简介 .stl文件是在计算机图形应用系统,来表示封闭的面或者体,用来表示三角形网格的一种文件格式.为STereo Lithography的缩写 ...
- 跟我学STL系列(1)——STL入门介绍
一.引言 最近这段时间一直都在自学C++,所以这里总结下自己这段时间的学习过程,通过这种方式来巩固自己学到的内容和以备后面复习所用,另外,希望这系列文章可以帮助到其他自学C++的朋友们. 由于本人之前 ...
- PJ可能会考的模拟与枚举-自学教程
PJ可能会考的模拟与枚举-自学教程 文/Pleiades_Antares 之前学校里看一个小可爱复习的时候偷偷听来着XD 简单记了一下重点吧,希望能对看官您有所帮助XD 以下⬇️是几个复习时讲过的题, ...
- stl学习记录(2)
#include <iostream> #include <utility> #include <tuple> #include <complex> # ...
- Linux下新手怎样将VIM配置成C++编程环境(能够STL自己主动补全)
~ 弄拉老半天,最终弄的几乎相同啦,果然程序猿还是须要有点折腾精神啊. 首先你要安装vim,命令:sudo apt-get install vim vim它仅仅是一个编辑器,它不是IDE(比方code ...
- CS基础课不完全自学指南
本文讲的是计算机学生怎么自学专业课,说长点就是该如何借助网络上已有的高质量学习资源(主要是公开课)来系统性的来点亮自己的CS技能树.这篇文章完全就是一篇自学性质的指南,需要对编程充满热情,起码觉得编程 ...
- QT5 QSS QML界面美化视频课程系列 QT原理 项目实战 C++1X STL
QT5 QSS QML界面美化视频课程系列 QT原理 项目实战 C++1X STL 课程1 C语言程序设计高级实用速成课程 基础+进阶+自学 课程2 C语言程序设计Windows GDI图形绘 ...
- 从零自学Hadoop(22):HBase协处理器
阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...
- 前端自学路线之js篇
上一篇我们讲了前端切图的学习路线,不知大家有没有收获.今天来聊聊前端工程师的核心技能之——JavaScript.js这门语言看似简单,但要做到入门.熟练以至于架构的程度,还是有一段路要走的,今天就来聊 ...
随机推荐
- Python学习笔记10—几个名词概念
循环(loop),指的是在满足条件的情况下,重复执行同一段代码.比如,while 语句. 迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项.比如,for 语句. 递归(recursio ...
- Linux下利用rsync实现多服务器文件同步
windows做为文件服务器,使用rsync的windows服务版本,然后配置好就可以了.需要的朋友可以参考下. windows做为文件服务器,使用rsync的windows服务版本:cwRsyncS ...
- php 新特性
PHP 5.6 1.可以使用表达式定义常量 https://php.net/manual/zh/migration56.new-features.php 在之前的 PHP 版本中,必须使用静态值来定义 ...
- ajax 跨域解决 网上资料
PHP中运用jQuery的Ajax跨域调用实现代码,需要的朋友可以参考下 可以在页面定义一个调用方法,如下: 复制代码代码如下: function getData(){ $.getJSON(&qu ...
- python剑指网络
>>> #获取hostname ... >>> host_name=socket.gethostname() >>> print "%s ...
- mysql命令行登录指定编码
mysql --default-character-set=utf8 -uroot -p mysql --default-character-set-utf8 -uroot-p
- AsyncTask实现异步线程通信
AsyncTask是Android1.5开始提供的一个封装了Thread与Handler可以实现异步线程的简单方式,不需要再自己实现子线程,然后在主线程处接受数据. 因为AsyncTask是用线程池, ...
- 20145218 《Java程序设计》第04次实验报告
北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.22 实验名称:Android开发基础 一.实验内容 1.基于Android ...
- python 练习 4
#!/usr/bin/python # -*- coding: utf-8 -*- from math import sqrt import random def daoxu(n): d=n s=0 ...
- Spring Web Flow 简介
Spring Web Flow 简介 博客分类: 转载 SSH 最近在TSS上看到了一片介绍Spring Web Flow的文章,顺便就翻译了下来,SWF的正式版估计要到6月份才能看到了,目前的例子都 ...