C++单例设计模式,单例模式
C++单例设计模式,单例模式 C++单例设计模式,单例模式
之前上传的C++标准程序库打包错了, 打包成繁体的了, 这次上传真正的简体版, 欢迎大家下载。 但是是扫描的PDF版本
尽管本指南同时介绍了POSIX 线程接口和Solaris 线程接口,但大多数主题都以POSIX 线程为重点。仅适用于Solaris 线程的信息将专门在一章中介绍。 主要介绍unix POSIX Pthread 多线程编程的手册, sun官方出版。
/* * --快速排序-- * 快速排序的实现基于分治法,具体分为三个步骤。假设待排序的序列为L[m..n]。 * 分解:序列L[m .. n]被划分成两个可能为空的子序列L[m .. pivot-1]和L[pivot+1 .. n], * 使L[m .. pivot-1]的每个元素均小于或等于L[pivot],同时L[pivot+1.. n]的每个元素均大于L[pivot]。 * 其中L[pivot]称为这一趟分割中的主元(也称为枢轴、支点)。 * 解决:通过递归调用快速排序,对子序列L[m .. pivot-1]和L[pivot+1 .. r]排序。 * 合并:由于两个子序列是就地排序的,所以对它们的合并不需要操作,整个序列L[m .. n]已排好序。 */
/* * --插入排序-- * 假定这个数组的序是排好的,然后从头往后,如果有数比当前外层元素的值大, * 则将这个数的位置往后挪,直到当前外层元素的值大于或等于它前面的位置为止. * 这具算法在排完前k个数之后,可以保证a[1…k]是局部有序的,保证了插入过程的正确性. * 1. 从第一个元素开始,该元素可以认为已经被排序 * 2. 取出下一个元素,在已经排序的元素序列中从后向前扫描 * 3. 如果该元素(已排序)大于新元素,将该元素移到下一位置 * 4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 * 5. 将新元素插入到该位置中 * 6. 重复步骤2 * 如果比较操作的代价比交换操作大的话,可以采用二分查找法来减少比较操作的数目。 * 该算法可以认为是插入排序的一个变种,称为二分查找排序。 */
冒泡排序算法的实现,用C语言实现,并含有测试程序。程序已经测试通过。 /* * --冒泡排序-- * 依次比较相邻的两个数,将大数放在前面,小数放在后面。 * 即首先比较第1个和第2个数,将大数放前,小数放后。 * 然后比较第2个数和第 3个数,将大数放前,小数放后, * 如此继续,直至比较最后两个数,将大数放前,小数放后, * 此时第一趟结束,在最后的数必是所有数中的最小数。 * 重复以上过程,仍从第一对数开始比较 * (因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数), * 将大数放前,小数放后,一直比较到最小数前的一对相邻数, * 将大数放前,小数放后,第二趟结束, * 在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。 */
c++标准程序库 侯捷翻译的,pdf版本 网上很难找到的。喜欢的朋友快来下载吧! 这本书打包错了, 打包成繁体和英文版的了, 大家不要下载了, http://download.csdn.net/source/1694363 这个是我最新上传的简体版。