2013年5月18日
摘要: 在之前的博客中有专门一章讲述在C++中为什么尽量在传参时用pass-by-reference取代pass-by-value,其主要目的是为了节省构造函数和析构函数的成本,但这不能完全的取代,假如有下面的一个类:1 class Rational2 {3 public:4 Rational(int numerator = 0, int denominator = 1);5 private:6 int n, d;7 };现在为此类添加成员函数operator*,不妨先找找以下的代码有什么问题:const Rational& operator*(Rati... 阅读全文
posted @ 2013-05-18 21:48 Sophia-呵呵小猪 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1)基本思想归并排序的基本思想是将两个已经排好序的数组通过N-1次比较,归并到一个新的数组中,N是两个数组的元素个数之和。比如数组:24 13 26 1 2 27 38 15,归并的方法是分别对数组的前四个数据和后四个数据排序,然后合并这两个部分排序的结果,而对前四个数据和后四个数据排序的方法也是通过将其分别分为两个小数组,然后合并的方法,即递归实现,这就是所谓的分而治之的思想。2)算法实现每一次合并两个已排序的数组时,需要一个新的包含两个数组总大小的空间来放置排序的结果,由于是递归实现,如果在每一次递归的过程中,都分配一段临时空间然后在该次排序结束时释放掉,那么这个分配和释放将占用很多时间。 阅读全文
posted @ 2013-05-18 17:36 Sophia-呵呵小猪 阅读(180) 评论(0) 推荐(0) 编辑