?? tvreinsert.h
字號:
/* COPYRIGHT NOTICE This material was developed by Christos Faloutsos and King-Ip Linat the University of Maryland, College Park, Department of Computer Science.Permission is granted to copy this software, to redistribute iton a nonprofit basis, and to use it for any purpose, subject tothe following restrictions and understandings. 1. Any copy made of this software must include this copyright noticein full. 2. All materials developed as a consequence of the use of thissoftware shall duly acknowledge such use, in accordance with the usualstandards of acknowledging credit in academic research. 3. The authors have made no warranty or representation that theoperation of this software will be error-free or suitable for anyapplication, and they are under under no obligation to provide anyservices, by way of maintenance, update, or otherwise. The softwareis an experimental prototype offered on an as-is basis. 4. Redistribution for profit requires the express, written permissionof the authors. */// Author : $Author$// Date : $Date$// Id : $Id$// $Id: reinsert.h,v 1.3 1996/04/18 21:50:24 kilin Exp kilin $ class ReInsertTVNode{public: ReInsertTVNode(); virtual ~ReInsertTVNode() {}; virtual FRType Type(); virtual void Put(TVNodeEntry &) {assert(0);}; virtual void Put(const Leaf_Element &) {assert(0);}; virtual void Put(const TVBranch &) {assert(0);}; virtual Leaf_Element Get_element() {assert(0); Leaf_Element le; return le;}; virtual TVBranch Get_branch() {assert(0); TVBranch le; return le;}; ReInsertTVNode *next;};class ReInsertTVNode_element:public ReInsertTVNode{public: ReInsertTVNode_element(); ReInsertTVNode_element(const ReInsertTVNode_element&); ~ReInsertTVNode_element(); ReInsertTVNode_element& operator=(const ReInsertTVNode_element&); FRType Type(); void Put(TVNodeEntry &); void Put(const Leaf_Element &); Leaf_Element Get_element(); Leaf_Element entry;};class ReInsertTVNode_branch:public ReInsertTVNode{public: ReInsertTVNode_branch(); ReInsertTVNode_branch(const ReInsertTVNode_branch&); ~ReInsertTVNode_branch(); ReInsertTVNode_branch& operator=(const ReInsertTVNode_branch&); FRType Type(); void Put(TVNodeEntry &); void Put(const TVBranch &); TVBranch Get_branch(); TVBranch entry;};class ReInsertStack{ friend ostream& operator<< (ostream&, const ReInsertStack&);public: ReInsertStack(); ~ReInsertStack();/* ReInsertStack(const ReInsertStack&); ReInsertStack& operator=(const ReInsertStack&); */ void Push(const TVNodeEntry&); void Push(const Leaf_Element&); void Push(const TVBranch&); Leaf_Element Pop_element(); TVBranch Pop_branch(); Leaf_Element Top_element(); TVBranch Top_branch(); FRType Top_type(); int NonEmpty();private: ReInsertTVNode head;};class ReInsertClass{ friend ostream& operator<< (ostream&, const ReInsertClass&);public: ReInsertClass(int); ~ReInsertClass(); ReInsertClass(const ReInsertClass&); ReInsertClass& operator=(const ReInsertClass&); void Add(const TVNodeEntry&, const int); void Add(const Leaf_Element&, const int); void Add(const TVBranch&, const int); Leaf_Element Pop_element(const int); TVBranch Pop_branch(const int); Leaf_Element Top_element(const int); TVBranch Top_branch(const int); FRType Top_type(const int); int NonEmpty(int); int NonEmpty();private: ReInsertStack *reinsertst; // array of stacks, 1 for each level int *havereinserted; // array of boolean, true if reinsert have be done; int no_of_levels;};class ReInsertCal{public : ReInsertCal(); ReInsertCal(const ReInsertCal&); ReInsertCal& operator=(const ReInsertCal&); TVNodeEntry ne; float distance;};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -