模板模式 本质 固定算法骨架 定义 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 用模板模式解决问题的思路 重复或者相似代码太多、扩展不方便,出现这些问题的原因在相似模块之间的实现是完全分开的、相互独立的,没有从整体上 ...
分类:
其他好文 时间:
2018-08-23 02:18:35
阅读次数:
178
出现变量重定义的情况? 源文件与include的文件定义了同一个变量 main.c a.c 1 int a = 200; 编译命令: gcc main.c -o main 编译报错: 链接的两个文件都定义了同一个变量 main.c a.c 编译命令: gcc -c main.c -o main.o ...
分类:
其他好文 时间:
2018-08-22 14:05:36
阅读次数:
169
可以,但一般不会将全局变量的定义写在头文件中。 因为如果多个 C 源文件都添加了头文件,很容易引起重定义的问题。这时候一般编译器都会提示:“multiple definition of... first defined here” 错误。 正确的作法是在 C 源文件中定义一个全局变量,并在对应的头文 ...
分类:
编程语言 时间:
2018-08-21 14:00:31
阅读次数:
217
题目链接:http://codeforces.com/gym/101466/problem/A 题目: 题意: 给你n个数,重定义两个数之间的加法不进位,求这些数中两个数相加的最大值和最小值。 思路: 字典树。我们首先将前i-1为放入字典树中,然后在查询第i位时,我们去字典树中查询,对每一位进行寻找 ...
分类:
其他好文 时间:
2018-08-20 01:09:21
阅读次数:
263
模板方法:当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法模式 ...
分类:
其他好文 时间:
2018-08-18 17:38:19
阅读次数:
128
连通图的一棵生成树是包含图的所有顶点的连通无环子图。 加权连通图的一棵最小生成树是图的一棵权重最小的生成树,其中,树的权重定义为所有边的权重总和。 最小生成树问题就是求一个给定的加权连通图的最小生成树问题。 最小生成树的算法主要有prim算法和kruskal算法,这篇主要讲解和实现后者。 krusk ...
分类:
编程语言 时间:
2018-08-11 01:26:21
阅读次数:
140
一、操作符函数 在C++中,编译器有能力把一个由数据、对象和操作符共同组成的表达式,解释为对一个全局或成员函数的调用。 该全局或成员函数被称为操作符函数,通过重定义操作符函数,可以实现针对自定义类型的运算法则,并使之与内置类型一样参与各种表达式。 二、双目操作符表达式 成员函数 形如L#R双目操作符 ...
分类:
编程语言 时间:
2018-08-09 20:06:49
阅读次数:
192
今天发现太久没写代码我有些STL用法都生疏了,顺便今天借此总结一下。(坑很大,留着以后慢慢填) 1.priority queue 我感觉这个还是很常用的,复杂度为O(log n)的一种维护最值,可以进行插入和弹出操作的一种数据结构。 具体的用法如下: 另外很多题中是需要重定义运算符的具体写法如下 2 ...
分类:
其他好文 时间:
2018-08-03 00:56:40
阅读次数:
157
C++语言学习(十一)——多态一、多态简介C++中的多态(polymorphism)是指由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。可以减轻系统升级,维护,调试的工作量和复杂度。多态是一种不同层次分类下的重要联系,是一种跨层操作。二、多态实现的前提赋值兼容规则是指在需要基类对象的任何地方都可以使用公有派生类的对象来替代
分类:
编程语言 时间:
2018-07-21 00:14:32
阅读次数:
176