五一  DAY 6

TypeName   类型名

VariableName  变量名


Part 1 数据结构

函数库:# include < utility >

Pair 定义一个变量,它有两个元素 :pair.first    pair.scecond,

这两个元素的类型可以不同

(类似于结构体)

函数库:#include < string >

定义一个字符串

a = qing bei                 b = xue tang

a+b = qing bei zao tang

//超过内存限制

所以就用到了vector

Vector 原理:  倍长

Vector的内存长度是2n   ,内存是连续的

演示过程

读入过程:

取数过程:

迭代器返回的是(下标),不是对应值

在指针上加*,得到值

支持自增运算

遍历  vector :

STL 要求 set 必须有序

Set类型可以定义为任何可以排序的类型

Set 的底层使用红黑树这个数据结构来维护集合。

( 一种很麻烦的平衡树

平衡的树结构

每个节点左右子树节点数差不多

常见有红黑树AVL替罪羊树Treap伸展树

返回的大部分是迭代器

set具有鲁棒性

内存不连续

双向迭代器(建议百度)

常见操作:

set 不会出现  1 2 2 3 3 4    只能是1 2 3 4

multiset  可以   1 2 2 3 3 4

比如:1 2 2 3 3 4

我们删除 2    就变为: 1 3 3 4

想只删一个数字,就删去它他的迭代器

一维数组一定不会支持这种操作,一维数组的下标只能是数字

然鹅  map可以实现

把第一维度作为下标,值是第二维 ,第一维度必须可排序

栈    [ FILO ] first in last out

    队列   [ FIFO ] first in first out

优先队列    本质是大根堆

要做小根堆怎么办??

注意:

1.大于比较 小根堆   (小于比较  大根堆)

2.

第一个 int 是priority_queue的类型

第二个 vector<int> 是存储数据的结构 一般用vector

第三个 cmp 是比较函数

3.Priority Queue  重载 < 运算符

Cmp 重载()运算符

Map  重载[ ]

4.等价于

5.优先队列比 set 慢

Part 2    Algorithm(函数)

      左闭右开

按照输入的顺序倒序输出

Unique

对已经拍好顺序的数组去重

找到a的下一个排列

(是否还能找到下一个排列)

所以可以实现全排列QVQ

比较次数不会超过 。。han ning ju li

Fill函数可以赋值任何数

可以作为memset的替换

但是没有memset快

O(n)

左闭右开

4 放到该放位置,比它小的在前,比它大的在后,但不保证顺序

随机重排

随机种子

实现得到随机排列


下午考试:

五一    考试二

暴力出奇迹!!!rank 4!!!


扩充知识:

析构:释放内存

构造函数:

类名

操作

赋值构造函数


IN THE END

咳咳咳你看这个网站它又大又圆

http://bytew.net/OIer/

http://www.cplusplus.com/reference/vector/vector/?kw=vector

最新文章

  1. Web3D编程入门总结——WebGL与Three.js基础介绍
  2. IOS平台设计规范
  3. nicehair
  4. SQL 查找存储过程及视图与自带函数
  5. js怎样生成json的数据
  6. Debian、Ubuntu常用命令大全
  7. Aix_bugzilla
  8. AtCoder Grand Contest 031 (AGC031) D - A Sequence of Permutations 其他
  9. Solr 01 - 什么是Solr + Solr安装包目录结构说明
  10. os模块及其API&amp;属性
  11. 线程--继承Thread
  12. dll 修复....
  13. 九、文件IO——案例构建标准库
  14. Oracle 拼接列数据的方法
  15. Java Web项目中连接Access数据库的配置方法
  16. The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online -C:Halting Problem(模拟)
  17. 2017-2018-2 20155310『网络对抗技术』Exp5:MSF基础应用
  18. 牛客练习赛16 E - 求值
  19. 6.openldap客户端安装
  20. CH暑假欢乐赛 SRM 07 天才麻将少女KPM(DP+treap)

热门文章

  1. Spring Boot 实际操作
  2. shell脚本实战
  3. 单节点oracle、ASM 详细安装步骤
  4. Python测试开发必知必会-PEP
  5. 修改phpMyAdmin 导入MySQL数据库文件大小限制
  6. wireshark 抓usb包
  7. Linux文件类型和文件相关命令
  8. 乱花渐入迷人眼------从解决jqueryEasyUI上传插件提交ajax请求谈网页调试
  9. 2017 去哪儿网 研发4.18(offer)
  10. 计算机网络(四),TCP三次握手