12 2020 档案

摘要:一、案例 There are N network nodes, labelled 1 to N. Given times, a list of travel times as directededges times[i]=(u,v,w), where u is the source node, v  阅读全文
posted @ 2020-12-10 15:12 Mr-xxx 阅读(262) 评论(0) 推荐(0)
摘要:除了普通迭代器,C++标准模板库还定义了几种特殊的迭代器,分别是插入迭代器、流迭代器、反向迭代器和移动迭代器,定义在<iterator>头文件中,下面主要介绍三种插入迭代器(back_inserter,inserter,front_inserter)的区别。首先,什么是插入迭代器?插入迭代器是指被绑 阅读全文
posted @ 2020-12-05 19:18 Mr-xxx 阅读(539) 评论(0) 推荐(0)
摘要:给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。 若可行,输出任意可行的结果。若不可行,返回空字符串。 示例 1: 输入: S = "aab"输出: "aba"示例 2: 输入: S = "aaab"输出: ""注意: S 只包含小写字母并且长度在[1, 500]区间内。 解法 阅读全文
posted @ 2020-12-05 16:41 Mr-xxx 阅读(120) 评论(0) 推荐(0)
摘要:一、背景引入 如果我有一个函数f和一个对象x,我希望在x上调用f,而且我在x的成员函数之外。C++给我三种不同的语法来实现这个调用: // 语法#1:当f是一个非成员函数 f(x); // 语法#2:当f是一个成员函数 ,而且x是一个对象或一个对象的引用 x.f(); // 语法#3:当f是一个成员 阅读全文
posted @ 2020-12-03 16:26 Mr-xxx 阅读(707) 评论(0) 推荐(0)
摘要:简单来将,仿函数(functor)就是一个重载了"()"运算符的struct或class,利用对象支持operator()的特性,来达到模拟函数调用效果的技术。 我们平时对一个集合类遍历的时候,例如vector,是这样做的: 1 for(vector<int>::const_iterator ite 阅读全文
posted @ 2020-12-03 15:35 Mr-xxx 阅读(370) 评论(0) 推荐(0)
摘要:not1是构造一个与谓词结果相反的一元函数对象,not2是构造一个与谓词结果相反的二元函数对象。 not1: 1 // not1 example 2 #include <iostream> // std::cout 3 #include <functional> // std::not1 4 #in 阅读全文
posted @ 2020-12-03 11:16 Mr-xxx 阅读(1145) 评论(0) 推荐(0)
摘要:compose1和compose2均是用于参数合成 比如: f(x)=3*x,g(y)=y+2,那么compose1(f(x),g(y))=(y+2)*3 g1(x)=3*x,g2(x)=2*x,h(x)=a+b,那么compose2(h(x),g1(x),g2(x))=3*x+2*x 大体效果就是 阅读全文
posted @ 2020-12-03 11:04 Mr-xxx 阅读(495) 评论(0) 推荐(0)
摘要:c++开发中我们会经常用到插入操作对stl的各种容器进行操作,比如vector,map,set等。在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器 阅读全文
posted @ 2020-12-01 22:44 Mr-xxx 阅读(880) 评论(0) 推荐(0)