自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 管理资源类中定义swap函数

在管理资源的类中通常定义一个名为swap的函数,对于那些与重排元素顺序的算法一起使用的类,定义swap函数非常重要,这类算法在需要交换两个元素时会调用swap函数。如果一个类自己定义了一个swap函数,那么算法将使用自己定义的版本,否则算法将使用标准库定义的swap。虽然与往常一样我们不知道swap函数如何实现,但是理论上很容易理解,为了交换两个对象我们需要进行一次拷贝和两次赋值。例如交换类值Ha

2015-12-26 12:05:09 550

原创 拷贝赋值运算符处理自我赋值和异常安全检查

拷贝赋值运算符通常应该返回一个指向其左侧运算对象的引用。目的是为了实现连锁赋值操作;比如 x = y = z。其一般形式如下:class Foo{public: Foo& operator=(const Foo &rhs) //返回类型是个reference { ... return *this; //返回左侧对象 }

2015-12-25 18:08:59 1235

原创 私有化析构函数

析构函数释放对象使用的资源,并销毁对象的非static数据成员。析构函数是类的成员函数,名字由波浪号加类名构成,没有返回值,也不接受任何参数。析构函数由两部分组成:函数体和析构部分。在一个析构函数中,首先执行函数体,然后执行析构部分。析构函数在以下情况下回自动调用:(1)变量在离开其作用域时被销毁(2)当一个对象被销毁时,其成员也被销毁。(3)当容器被销毁时,容器中的元素也被销毁。(3)对于动态分

2015-12-23 11:54:19 2033

原创 无向图中三角形个数

给定一个无向图,求出此图中包含三角形的个数。 图中三角形指的是:在图中任意选择三个顶点,且这三个顶点之间任意两个点都有一条来自原图中的边。求出图中三角形个数有许多应用(1)在qq中两个好友之间的共同好友个数(2)好友推荐应用。(3)图的聚集系数。(4)小世界网络。 本文中所给出的算法思想: 1.对图中的所有顶点按照度数由小到大进行排序。 2.计算图中每个顶点

2015-12-22 21:53:35 6413 3

原创 C++中对象初始化方式

当对象在创建时获得了一个特定的值,我们说这个对象被初始化。初始化不是赋值,初始化的含义是创建变量赋予其一个初始值,而赋值的含义是把当前值擦除,而以一个新值来替代。 对象初始化可以分为默认初始化、直接初始化、拷贝初始化以及值初始化。 1.默认初始化:如果定义变量时没有指定初值,则变量被默认初始化。默认值到底是什么由变量类型决定,同时定义变量的位置也会对此有影响。如果是内置类型的变

2015-12-21 21:32:43 10530

原创 C++中对象生存周期

在C++中,我们所使用的的对象都有严格的生存周期。所谓的对象生存周期是指对象从创建开始到被释放为止的时间。对于静态内存中存储的局部static对象、类static数据成员以及定义在任何函数之外的变量,全局对象(任何函数之外的对象)在程序启动时分配,在程序结束时销毁;对于局部static对象、类static对象在第一次使用前分配内存,在程序结束时销毁。 对于栈内存,用来保存定义在函数内的非

2015-12-21 17:39:05 861

原创 双向Dijstra算法

双向Dijstra算法:在无向带权图中,求从s到t最短路径。双向Dijstra算法的思想是:分别从s顶点和t顶点开始执行单向Dijstra算法,从s点开始执行的Dijstra算法定义为前向Dijstra搜索,从t点开始执行Dijstra算法定义为后向Dijstra搜索。算法结束的条件是:前向(后向)Dijstra搜索求得当前最短路径上的顶点为u,且在后向(前向)Dijstra搜索已经计算出到u的最

2015-12-17 16:30:30 5184 1

原创 列出指定目录下的所有文件的路径

列出指定目录下的所有文件的路径1.指定的路径不为空(f != null)    1.1指定的路径是目录(f.isDirectory())    1.1.1列出该目录下所有的路径(File files[] = f.listFiles())    1.1.1.1该路径可以被访问(files != null)    递归调用此函数print(file[i]) 1.2指

2015-12-11 21:48:17 778

原创 单源点最短路径

单源最短路径:从顶点v可达顶点u表示为v->u,在所有的可达路径中存在一条权值最小的路径,则这条路径叫做v到u的最短路径。那么单源最短路径指的是:求出给定源点s到其他所有顶点的最短路径。最短路径的性质:对于一给定的带权图G=(V,G),所定义的加权函数为w:E->R。设p=是从v1到vk的最短路径。对于任意i,j,其中1为p中从顶点vi到顶点vj的子路径。那么,pij是从vi到vj的最短路径。

2015-12-03 11:04:58 1237 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除