随笔分类 - C++
摘要:C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。 下面是具体用法 构造函数 bitset常用构造函数有四种,如下 bitset<4> bitset1; //无参构造,长度为4,默认每一位为0 bitset<8> bit
阅读全文
摘要:二叉树遍历的概念: 二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次且仅被访问一次。 二叉树的深度优先遍历可细分为前序遍历、中序遍历、后序遍历,这三种遍历可以用递归实现 前序遍历:根节点->左子树->右子树(根->左->右) 中序遍历:左子树->根节点->
阅读全文
摘要:既然是队列那么先要包含头文件#include <queue>, 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队 优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的 和队列基本操作相同: top 访问队头元
阅读全文
摘要:1. C++的insert iterators, 可以将一般迭代器的赋值操作转变为插入操作,这样的迭代器包括 (1)专司尾端插入操作的back_insert_iterator,对应于STL函数back_inserter(),要求容器自身支持push_back操作; (2)专司头端插入操作的front
阅读全文
摘要:std::transform在指定的范围内应用于给定的操作,并将结果存储在指定的另一个范围内。要使用std::transform函数需要包含<algorithm>头文件。 以下是std::transform的两个声明,一个是对应于一元操作,一个是对应于二元操作: template <class In
阅读全文
摘要:一、算法 算法是以函数模板的形式实现的。常用的算法涉及到比较、交换、查找、搜索、复制、修改、移除、反转、排序、合并等等。 算法并非容器类型的成员函数,而是一些全局函数,要与迭代器一起搭配使用。 算法的优势在于只需实作一份,可以适应所有的容器,不必为每一种容器量订制。也可以与用户定义的容器搭配。 算法
阅读全文
摘要:bind1st 和 bind2nd的用法 std::bind1st 和 std::bind2nd将二元函数转换为一元函数,具体用法参加下面的代码。 代码介绍了两种使用方式,第一种是使用std::less和std::greater,第二种是使用自定义的仿函数。 #include <iostream>
阅读全文
摘要:std::bind的基本概念 std::bind 是一个函数模板, 它就像一个函数适配器,可以把一个原本接收N个参数的函数fn,通过绑定一些参数,返回一个接收M个参数的函数ret,同时还可以实现参数顺序调整等操作。 它的原型有两种形式,如下: // simple(1) template <class
阅读全文
摘要:stack 介绍 栈是一种容器适配器,特别为后入先出而设计的一种(LIFO ),那种数据被插入,然后再容器末端取出 栈实现了容器适配器,这是用了一个封装了的类作为他的特定容器,提供了一组成员函数去访问他的元素,元素从特定的容器,也就是堆栈的头取出元素。 功能介绍 1.头文件 #include<sta
阅读全文
浙公网安备 33010602011771号