- 博客(7)
- 资源 (6)
- 收藏
- 关注
原创 第十六篇--算法导论排序篇总结-开发实用quicksort算法
行百里者半九十,此言得之。当看完快速排序之后,我了解了它的思想,我也会实现它的代码,可是,这就是我所需要的quicksort算法吗?显然不是。习题7-1-2问道:如果数组中元素都相同,该怎么办? 如果采用伪代码直接实现的程序,时间复杂度为n的平方;作者提供了思路,当A[p..r]中的元素相同时,返回的q为(p+r)/2,这样就能保持最好的性能。习题7-4-5问道:难道一
2013-07-24 21:10:14 873
原创 数据结构篇deque
这篇代码是写给自己看的,所以没什么注释,大家可以去看侯捷先生的《STL 源码剖析》//mydeque.h#include"myconstruct.h"#include"mymemory.h"using std::max;using std::copy_backward;/*deque是双向开头的连续线性空间,它动态地以分段连续空间组合而成,这个表面上deque的迭代器 *支持随机访
2013-07-23 19:39:38 870
原创 五种内存处理基本工具
/**********内存处理基本工具**********************///五个全局函数,作用于未初始化的空间//----------------------------------------------------------------//将初值设定在指针指定的空间上templateinline void construct(T1* p,const T2& value)
2013-07-20 11:37:53 600
原创 迭代器--摘自STL源码剖析
//迭代器是一种智能指针//首先利用继承关系定义五种迭代器类型struct input_iterator_tag{};struct out_put_tag{};struct forward_iterator_tag:public input_iterator_tag{};struct bidirectional_iterator_tag:public forward_iterator_t
2013-07-20 11:36:13 577
原创 Allocate--摘自STL源码剖析
Allocate管理的是内存分配。这里主要考虑的是对于小额区块的内存管理,如果小额区块直接使用new操作符进行分配,第一会造成内存的碎片;第二配置时会造成额外负担;所谓额外负担就是,每次索取一块内存时,都必须向系统分配一块空间,以记录内存的大小。所以这里采用两级配置器:第一级配置器就是当要求的内存足够大时,直接使用malloc和free配置和释放内存;多大是足够大?STL中定义当要
2013-07-20 11:29:07 907
原创 文本查询程序--摘自c++primer
本文总结摘录了《c++ primer》中的一个大例子---文本查询程序。主要目的在于学习大师的编程规范。 程序要求:读取用户指定的任意文本文件,然后允许用户从该文件中查找单词。查询的结果是该单词出现的次数,并列出每次出现所在的行。如果某单词在同一行中多次出现,程序将只显示该行一次,行号按升序显示。分析:输入为文件名;必须将一行作为一个整体,由行号输出所在行;必
2013-07-08 11:37:40 909 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人