摘要:
在一公文处理系统中,开发者定义了一个公文类OfficeDoc, 其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此OfficeDoc 类对象的相应的DocExplorer 对象都要更新其自身的状态。一个OfficeDoc 对象能够关联一组DocExplorer 对象。当OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为观察者模式。以下代码写在一个C++ 源文件中,能够正确编译通过。 阅读全文
摘要:
通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。
下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样,Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。 阅读全文
摘要:
B树是一种多叉平衡查找树。一棵m阶的B树,或为空树,或为满足下列特性的m叉树:
①树中每个结点至多有m棵子树;
②若根结点不是叶子结点,则它至少有两棵子树;
③除根之外的所有非叶子结点至少有「m/2]棵子树;
④所有的非叶子结点中包含卞列数据信息 阅读全文
摘要:
散列文件的存储单位称为桶(BUCKET) 。假如一个桶能存放m个记录,当桶中已有m个同义词(散列函数值相同)的记录时,存放第m+1 个同义词会发生"溢出"。此时需要将第m+1 个同义词存放到另一个称为"溢出桶"的桶中。相对地,称存放前m个同义词的桶为"基桶"。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。 阅读全文