摘要:
(一)目标 在实际问题的解决过程中,我们发现,很多问题都可以归结为对数据的排序和查询。而查询的效率则在很大程度上依赖于排序的效率;尤其是在数据量达到海量级的时候。因此,设计一个有效的排序算法是至关重要的。本文设计了一个通用的c++ quicksort 模板类。通过简单的提供一个Data类,可以实现任意数据的快速排序算法,提高了开发效率。 (二)快速排序算法的思想 最基本的快速排序的思想是基于分治策略的: 对于输入的子序列L[p..r],如果规模足够小则直接进行排序,否则分三步处理: 1 分解(Divide):将输入的序列L[p..r]划分成两个非空子序列L[p..q]和L[q+1..... 阅读全文
摘要:
在面向对象的语言里面,出现了类的概念。这是编程思想的一种进化。所谓类:是对特定数据的特定操作的集合体。所以说类包含了两个范畴:数据和操作。而C语言中的struct仅仅是数据的集合。 1.实例:下面先从一个小例子看起 #ifndef C_Class #define C_Class struct #endif C_Class A { C_Class A *A_this; void (*Foo)(C_Class A *A_this); int a; int b; }; C_Class B{ //B继承了A C_Class B *B_this; //顺序很重要... 阅读全文