一、vector

为了节省空间,有时我们会使用动态数组vector。

定义动态数组

vector<类型名>变量名

vector<int>que //定义que为一个int类型的动态数组

vector<char> a //定义 a 为一个char 类型的动态数组

vector<data> c //其中data为自定义的数据类型,可以为结构体

 指令

a[i] ---- 返回动态数组中的第i个元素
a.empty() ---  若动态数组为空,则返回true,否则返回false
a.size() --- 返回动态数组中元素的个数
a.resize() --- 修改动态数组大小
a.push_back() --- 向动态数组尾部插入一个元素
a.pop_back() --- 删除动态数组尾部的一个元素
a.begin() --- 返回指向vector头部的迭代器(指针)
a.end() --- 返回指向vector尾部元素的后一个元素的迭代器(指针)

  二、set

set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序(从小到大,改变可以重载运算符)。应该注意的是set中数元素的值不能直接被改变。

指令

begin()--- 返回set容器的第一个元素

end() --- 返回set容器的最后一个元素

clear() --- 删除set容器中的所有的元素

empty() --- 判断set容器是否为空

max_size() --- 返回set容器可能包含的元素最大个数

size() --- 返回当前set容器中的元素个数

rbegin --- 返回的值和end()相同

rend() --- 返回的值和rbegin()相同

  三、map

MapSTL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道

定义

Map<int, string> mapStudent;

【STL初步】不定长数组:vector + 集合:set + 映射:map的更多相关文章

  1. 【OI】C++STL 不定长数组 vector

    Vector 本来是向量的意思,只不过在用法上类似于一个不限长度的数组. 定义语法:vector<数据类型> 名称; 一.头文件:<vector> (bits/stdc++请忽 ...

  2. 不定长数组 Vector的 应用

    #include<cstdio> #include<vector> using namespace std; vector<int>a; int main() { ...

  3. UVa101 The Blocks Problem(不定长数组vector)

    The Blocks Problem 书上的一道例题,代码思路比较清晰,可以看懂. 相关知识: 若a是一个vector,则: a.size():读取它的大小 a.resize():改变大小 a.pus ...

  4. (ACM模板)不定长数组vector

    #include<iostream> #include<cstdio> #include<vector> #include<algorithm> usi ...

  5. (STL初步)不定长数组:vector

    STL是指C++的标准模板库.(存储着一些常用的算法和容器) vector是一个不定长数组.它把一些常用的操作”封装“在vector类型内部. 例如,a是一个vector.1对元素的操作有,可以用a. ...

  6. 【算法专题】工欲善其事必先利其器—— C++ STL中vector(向量/不定长数组)的常用方法总结

    #include<iostream> #include<cstdio> #include<string> #include<vector>//不定长数组 ...

  7. STL之vector(不定长数组)

    vector就是一个不定长数组,另外它把一些常用操作“封装”在了vector类型内部.例如,若a是一个vector,可以用a.size()读取它的大小,a.resize()改变大小,a.push_ba ...

  8. C++如何返回不定长数组

    起初遇到这个问题的时候便得知无法返回,那么为了达到相同的目的,该怎么办呢? 第一个想法便是 int * void() { int * want = new int[size]; //......do ...

  9. C语言格式化输入不定长数组

    先随便写写,有空再整理. 直接贴代码 #include <stdio.h> #include <stdlib.h> //从一行标准输入中格式化输入一个不定长数组 void in ...

随机推荐

  1. Sublime text3 插件ColorPicker(调色板)不能使用快捷键

    我的原因是: convertToUTF8 和 ColorPicker 快捷键冲突,convertoUTF8的默认转换GBK的快捷键 和 ColorPicker打开调色板的快捷键都是ctrl+shift ...

  2. idea | SpringBoot项目热加载

    第一步: 在pom文件添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <arti ...

  3. 14.PTD与的基址

    0xC0300000就是页目录的基址. 随便找一个软件测试下 通过0xC0300000找到的物理页就是页目录表这个物理页即是页目录表本身也是页表页目录表是一张特殊的页表,每一项PTE指向的不是普通的物 ...

  4. [题解](堆)luogu_P1631序列合并

    思路来自题解 作者: Red_w1nE 更新时间: 2016-11-13 20:46 在Ta的博客查看  72 最近有点忙 没时间贴代码了== [分析] 首先,把A和B两个序列分别从小到大排序,变成两 ...

  5. __getitem__,__setitem__,__delitem__

    __getitem__.__setitem__.__delitem__ 总结: __getitem__,__setitem_,__delitem__ : obj[‘属性’]的方式去操作属性时触发的方法 ...

  6. B.出题人的女装

    链接:https://ac.nowcoder.com/acm/contest/358/B 题意: 出题人早上起床就打算穿衣服,他有两箱衣服,因为懒,他在这两天只打算打开一个箱子. 两个箱子中一个有n件 ...

  7. 执行脚本 提示 command not found

    问题现象: 初学shell,写了个脚本, 1.从windows 写好 脚本,然后部署到 linux 上. 2.chmod +x之后执行提示command not found,系统环境redhat9,用 ...

  8. Java中IO流文件读取、写入和复制

    //构造文件File类 File f=new File(fileName); //判断是否为目录 f.isDirectory(); //获取目录下的文件名 String[] fileName=f.li ...

  9. mongodb Gridfs操作

    GridFS 介绍 GridFS是MongoDB规范用于存储和检索大文件,如图片,音频文件,视频文件等.这是一种文件系统用来存储文件,但数据存储于MongoDB集合中.GridFS存储文件比其文档大小 ...

  10. 洛谷 P1902 刺杀大使

    刺杀大使 一道并不难的二分题,竟让我交了上20次,诶,果然还是我太弱了. 看完题目就基本想到要怎么做了: 只需要对最小伤害代价进行二分即可,check()函数里用搜索判断是否可以到达最后一行,这里的c ...