随笔分类 - STL模板篇
发表于 2018-06-06 20:27阅读:207评论:0推荐:0
摘要:前言: 之前做题二分都是手动二分造轮子,用起来总是差强人意,后来看到STL才发现前辈们早就把轮子造好了,不得不说比自己手动实现好多了。 常用操作 1.头文件 2.使用方法 1.binary_search:查找某个元素是否出现。a.函数模板:binary_search(arr[],arr[]+size
阅读全文 »
发表于 2018-04-08 23:48阅读:208评论:0推荐:0
摘要:介绍: list容器是一种序列式容器,它是STL实现的双向链表,与vector相比它可以实现快速的插入和删除,但是不能够快速的随机访问。 头文件: #include <list> 构造函数: list() 声明一个空列表; list(n) 声明一个有n个元素的列表,每个元素都是由其默认构造函数T()
阅读全文 »
发表于 2018-04-08 21:10阅读:154评论:0推荐:0
摘要:题目链接 题意: 题意简单,就是一个简单的数据结构,对栈的模拟操作,可用链表实现,也可以用C++的模板类来实现,但是要注意不能用cin cout,卡时间!!! 代码:
阅读全文 »
发表于 2018-03-29 20:57阅读:136评论:0推荐:0
摘要:概念: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。如果这组数有n个,那么全排列数为n!个。 比如a,b,c的全排列一共有3!= 6 种 分别是{a, b, c}、{a, c, b}、{b, a, c}
阅读全文 »
发表于 2018-03-29 20:43阅读:141评论:0推荐:0
摘要:priority_queue 优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序,每次的push和pop操作,队列都会动态的调整,以达到我们预期的方式来存储。 定义: 在使用时,我们会有很多时间用到根据结构体的某一个元素进行排序,下面给出定义结构体的优
阅读全文 »
发表于 2018-03-29 19:43阅读:107评论:0推荐:0
摘要:pair pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同。如果一个函数有两个返回值的话,如果是相同类型,就可以用数组返回,如果是不同类型,就可以自己写个struct ,但为了方便就可以使用 c++自带的pair ,返回一个pair,其中带有两个值。除了返回值的应用,在一个对象有多
阅读全文 »
发表于 2018-03-29 19:10阅读:206评论:0推荐:0
摘要:SET set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。 set常用操作: 1. begin()--返回指向第一个元素的迭代器 2. clear()-
阅读全文 »
发表于 2018-03-28 13:54阅读:225评论:0推荐:0
摘要:map容器: 继上一篇 ,Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。map内部自建一颗红黑树(一 种非严格意义上的平衡
阅读全文 »
发表于 2018-03-28 12:57阅读:448评论:0推荐:0
摘要:一、什么是标准模板库(STL)? 1、C++标准模板库与C++标准库的关系 C++标准模板库其实属于C++标准库的一部分,C++标准模板库主要是定义了标准模板的定义与声明,而这些模板主要都是 类模板,我们可以调用这些模板来定义一个具体的类;与之前的自己手动创建一个函数模版或者是类模板不一样,我们使用
阅读全文 »