亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bin_tree.h

?? 高效數據類型和算法庫
?? H
字號:
/*******************************************************************************++  LEDA-R  3.2.3++  bin_tree.h++  Copyright (c) 1995  by  Max-Planck-Institut fuer Informatik+  Im Stadtwald, 66123 Saarbruecken, Germany     +  All rights reserved.+ *******************************************************************************/#ifndef LEDA_BIN_TREE_H#define LEDA_BIN_TREE_H//------------------------------------------------------------------------------//// bin_tree  ////     base class for all leaf oriented binary trees in LEDA//// Stefan N"aher (1993)////------------------------------------------------------------------------------#include <LEDA/basic.h> class bin_tree;class bin_tree_node;typedef bin_tree_node* bin_tree_item;typedef void (*DRAW_BIN_NODE_FCT)(double,double,void*,int);typedef void (*DRAW_BIN_EDGE_FCT)(double,double,double,double);//------------------------------------------------------------------------------// class bin_tree_node //------------------------------------------------------------------------------class bin_tree_node{     friend class bin_tree;   friend class avl_tree;   friend class bb_tree;   friend class rb_tree;   friend class rs_tree;   GenPtr   k;              // key   GenPtr   i;              // info   bin_tree_node* child[2]; // node: left and right child                            // leaf: successor and predecessor   bin_tree_node* parent;   // pointer to parent   bin_tree_node* corr;     // leaf: pointer to corresponding inner node                            // node: nil   int   bal;               // rebalancing data /*   public:*/   bin_tree_node(GenPtr key, GenPtr inf, int b)   { k = key;     i = inf;      bal = b;    }            bin_tree_node() { }            bin_tree_node(bin_tree_node* p)   { k = p->k;     i = p->i ;     bal = p->bal;    }            bool is_node()   { return (corr == nil);  }   bool is_leaf()   { return (corr != nil); }   void set_bal(int x) { bal = x; }   int  get_bal()      { return bal; }   LEDA_MEMORY(bin_tree_node)}; //------------------------------------------------------------------------------// class bin_tree//------------------------------------------------------------------------------class bin_tree{   protected:  enum { left=0, right=1 };  bin_tree_node ROOT;       // "super root" to avoid special cases in rotations                            // ROOT.child[left] points to real root node                            // ROOT.child[right] points to leftmost leaf  int count;              // functions depending on used rebalancing method  // will be defined in derived classes (rb_tree, avl_tree, ...)  virtual int leaf_balance() { return 0; }  // default balance value for leaves  virtual int node_balance() { return 0; }  // inner nodes  virtual int root_balance() { return 0; }  // root node  virtual void insert_rebal(bin_tree_node*)   {}  virtual void del_rebal(bin_tree_node*, bin_tree_node*) {}  // other protected member functions  bin_tree_node*& min_ptr() const                            { return (bin_tree_node*&)ROOT.child[right];}  void rotation(bin_tree_node*, bin_tree_node*, int);  void double_rotation(bin_tree_node*, bin_tree_node*, bin_tree_node*, int);  void del_tree(bin_tree_node*);  bin_tree_node* int_search(GenPtr) const;  bin_tree_node* search(GenPtr) const;  bin_tree_node* copy_tree(bin_tree_node*,bin_tree_item&) const;  // functions depending on actual key type  // will be defined in dictionary and sortseq templates  virtual int cmp(GenPtr x, GenPtr y) const { return compare(x,y); }  virtual void clear_key(GenPtr&) const { }  virtual void clear_inf(GenPtr&) const { }  virtual void clear_iinf(GenPtr&)const { }  virtual void copy_key(GenPtr&)  const { }  virtual void copy_inf(GenPtr&)  const { }  virtual void print_key(GenPtr)  const { }  virtual void print_inf(GenPtr)  const { }  virtual int  int_type() const { return 0; }  //bin_tree_node* item(void* p) const { return (bin_tree_node*)p; }public:  bin_tree_node* item(void* p) const { return (bin_tree_node*)p; }  bin_tree_node*& root() const                            { return (bin_tree_node*&)ROOT.child[left]; }  bin_tree_node* cyclic_succ(bin_tree_node* p) const { return p->child[right]; }  bin_tree_node* cyclic_pred(bin_tree_node* p) const { return p->child[left]; }  bin_tree_node* succ(bin_tree_node* p) const  { return (p->child[right] == min_ptr()) ? 0 : p->child[right]; }  bin_tree_node* pred(bin_tree_node* p) const  { return (p == min_ptr())  ?  0 : p->child[left] ; }  bin_tree_node* first_item()  const               { return min_ptr(); }  bin_tree_node* next_item(bin_tree_node* p) const { return succ(p); }  bin_tree_node* min() const { return min_ptr(); }  bin_tree_node* max() const { return (count>0) ? min_ptr()->child[left] : 0; }  bin_tree& conc(bin_tree&);  void split_at_item(bin_tree_node*,bin_tree&,bin_tree&);  void reverse_items(bin_tree_node*,bin_tree_node*);  bin_tree_node* insert(GenPtr,GenPtr,GenPtr=0);  bin_tree_node* insert_at_item(bin_tree_node*,GenPtr,GenPtr,GenPtr=0);  bin_tree_node* lookup(GenPtr) const;  bin_tree_node* locate(GenPtr) const;  bin_tree_node* locate_succ(GenPtr) const;   bin_tree_node* locate_pred(GenPtr) const;   GenPtr   key(bin_tree_node* p)  const { return  p->k; }  GenPtr   inf(bin_tree_node* p)  const { return  p->i; }  GenPtr&  info(bin_tree_node* p) const { return  p->i; }  void del(GenPtr);  void del_item(bin_tree_node* p);  void change_inf(bin_tree_node*,GenPtr);  void clear();  int size()   const { return count; }   int empty()  const { return root() ? false : true ; }  // construction, assignment, destruction  bin_tree() {  count = 0; root() = nil; min_ptr() = nil; }  bin_tree(const bin_tree&);  bin_tree& operator=(const bin_tree&);  virtual ~bin_tree() { clear(); }  // additional operations used by range and segment trees  virtual void propagate_modification(int, GenPtr, GenPtr) {}  bin_tree_node* l_child(bin_tree_node* p) const  { return p->is_leaf() ? 0 : p->child[left]; }  bin_tree_node* r_child(bin_tree_node* p) const  { return p->is_leaf() ? 0 : p->child[right]; }  int is_inner(bin_tree_node* p)  const  { return p->corr == 0; }  bin_tree_node* parent(bin_tree_node* p)  const  { return (p==root()) ? 0 : p->parent; }  // miscellaneous  void draw(DRAW_BIN_NODE_FCT, DRAW_BIN_NODE_FCT, DRAW_BIN_EDGE_FCT,             bin_tree_node*, double, double, double, double, double);  void draw(DRAW_BIN_NODE_FCT, DRAW_BIN_NODE_FCT, DRAW_BIN_EDGE_FCT,             double, double, double, double);  void print() const;  void print_tree(bin_tree_node*,int) const;};inline void bin_tree::rotation(bin_tree_node* p,bin_tree_node* q, int dir){ bin_tree_node* r = q->child[1-dir];  bin_tree_node* x = p->parent;  p->child[dir] = r;  q->child[1-dir] = p;  p->parent = q;  r->parent = p;  if (p == x->child[left])     x->child[left] = q;  else     x->child[right] = q;  q->parent = x;  propagate_modification(4,p,r);  propagate_modification(5,q,p);  if( x!=&ROOT )    propagate_modification(6,x,q); }inline void bin_tree::double_rotation(bin_tree_node* p, bin_tree_node* q,                                       bin_tree_node* r, int dir1){ int dir2 = 1-dir1;  bin_tree_node* s = r->child[dir1];  bin_tree_node* t = r->child[dir2];  bin_tree_node* x = p->parent;  p->child[dir1] = t;  q->child[dir2] = s;  r->child[dir1] = q;  r->child[dir2] = p;  p->parent = r;  q->parent = r;  s->parent = q;  t->parent = p;  if (p == x->child[left])     x->child[left] = r;  else     x->child[right] = r;  r->parent = x;  propagate_modification(7,p,t);  propagate_modification(8,q,s);  propagate_modification(9,r,p);  propagate_modification(10,r,q);  if( x!=&ROOT )    propagate_modification(11,x,r);}#if !defined(__TEMPLATE_FUNCTIONS)// dummy I/O and cmp functionsinline void Print(const bin_tree&,ostream&) { }inline void Read(bin_tree&, istream&) { }inline int  compare(const bin_tree&,const bin_tree&) { return 0; }#endif#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av性久久久久蜜臀aⅴ四虎 | 国产精品69久久久久水密桃| 国产成人亚洲综合a∨婷婷图片| 91原创在线视频| 日韩美女在线视频| 午夜视频在线观看一区二区| 国产成人高清视频| 日韩欧美高清dvd碟片| 亚洲va国产天堂va久久en| 成人v精品蜜桃久久一区| 日韩区在线观看| 亚洲www啪成人一区二区麻豆| av不卡一区二区三区| 久久人人超碰精品| 久久99蜜桃精品| 91精品国产综合久久香蕉的特点| 亚洲精品高清在线| 97久久久精品综合88久久| 国产三级欧美三级| 激情综合五月天| 日韩欧美一二区| 日本不卡视频一二三区| 欧美日韩久久一区| 亚洲成人激情社区| 欧美日韩国产影片| 亚洲bt欧美bt精品| 欧美日韩另类一区| 五月天激情综合| 欧美日韩mp4| 日韩精品五月天| 91精品国产综合久久婷婷香蕉| 天堂一区二区在线免费观看| 欧美性猛交xxxx乱大交退制版| 亚洲综合色婷婷| 在线视频一区二区免费| 亚洲狠狠丁香婷婷综合久久久| 99r国产精品| 亚洲综合成人在线视频| 欧美视频精品在线观看| 性感美女极品91精品| 在线91免费看| 久久国内精品自在自线400部| 欧美不卡一区二区| 国产一区二区三区免费看| 国产欧美精品一区二区色综合朱莉| 国产.精品.日韩.另类.中文.在线.播放| 久久久久99精品一区| 成人一级片网址| 一区二区三区产品免费精品久久75| 91福利视频网站| 日本va欧美va精品| 国产亚洲视频系列| 色噜噜狠狠成人网p站| 亚洲成人免费在线| 精品国产一二三| 成人精品视频一区二区三区 | 色一区在线观看| 性做久久久久久久久| 久久综合色综合88| 99久久免费视频.com| 爽爽淫人综合网网站| 久久精品一区八戒影视| 色成人在线视频| 九九九久久久精品| 亚洲精品免费在线| 日韩精品一区二区在线观看| 成人精品免费视频| 日本怡春院一区二区| 日韩一区在线看| 日韩精品一区二区三区视频播放| 成人毛片在线观看| 麻豆成人91精品二区三区| 国产精品女人毛片| 这里只有精品电影| 99在线精品免费| 麻豆91精品视频| 亚洲一区欧美一区| 久久久91精品国产一区二区三区| 91久久人澡人人添人人爽欧美| 久久精品久久精品| 一区二区视频在线| 国产蜜臀97一区二区三区| 555www色欧美视频| 91网上在线视频| 粉嫩蜜臀av国产精品网站| 奇米色777欧美一区二区| 亚洲色图欧美在线| 国产午夜精品一区二区三区四区| 欧美人牲a欧美精品| a美女胸又www黄视频久久| 久久电影网站中文字幕| 亚洲高清免费视频| 日韩美女视频一区| 国产日本欧美一区二区| 欧美一区在线视频| 精品视频一区 二区 三区| 99久久亚洲一区二区三区青草| 国产伦精品一区二区三区免费迷 | 国产视频不卡一区| 日韩精品一区二| 欧美高清一级片在线| 色噜噜狠狠一区二区三区果冻| 成人精品国产福利| 国产91精品免费| 国产麻豆成人精品| 国产福利一区二区三区| 国产主播一区二区| 国产一区二区三区黄视频 | 久久99国产精品麻豆| 蜜桃视频在线观看一区| 日本不卡一区二区三区| 日本不卡的三区四区五区| 亚洲第一主播视频| 舔着乳尖日韩一区| 丝袜美腿亚洲一区| 久久精品72免费观看| 久久精品国产久精国产| 久久福利资源站| 国产成人综合亚洲网站| 成人中文字幕合集| www.亚洲免费av| 色哦色哦哦色天天综合| 欧美自拍偷拍一区| 欧美蜜桃一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 婷婷综合在线观看| 青青草视频一区| 国产麻豆成人传媒免费观看| 国产伦精品一区二区三区免费迷| 粉嫩嫩av羞羞动漫久久久| 99精品偷自拍| 欧美图片一区二区三区| 4438x亚洲最大成人网| 久久综合色天天久久综合图片| 国产午夜精品福利| 亚洲美女免费视频| 日本亚洲电影天堂| 国产成人免费在线观看不卡| 日本精品一区二区三区四区的功能| 欧美无砖砖区免费| 久久久亚洲欧洲日产国码αv| 最新日韩av在线| 日韩精品电影一区亚洲| 国产盗摄精品一区二区三区在线| 一本色道久久综合亚洲精品按摩| 91精品久久久久久久91蜜桃| 欧美高清一级片在线观看| 亚洲电影一级黄| 国产精品18久久久久久久久 | 中文字幕一区二区三| 午夜免费久久看| 国产成人精品www牛牛影视| 91国偷自产一区二区开放时间| 91精品国产色综合久久久蜜香臀| 久久精品一区二区三区不卡牛牛| 一区二区三区四区五区视频在线观看| 日韩国产成人精品| 成人激情综合网站| 欧美成人bangbros| 亚洲一区二区三区四区五区中文| 久久99精品国产麻豆婷婷| 91亚洲男人天堂| 久久综合狠狠综合| 亚洲成a人v欧美综合天堂下载| 国产a级毛片一区| 91精品国产91综合久久蜜臀| 国产精品国产a| 国内精品视频666| 欧美日韩免费不卡视频一区二区三区| 国产视频一区不卡| 免费人成黄页网站在线一区二区| 欧美亚洲综合久久| 国产精品青草久久| 国产一区二区成人久久免费影院| 6080日韩午夜伦伦午夜伦| 最新久久zyz资源站| 国产精品一区不卡| 欧美一级理论片| 亚洲一区二区三区不卡国产欧美 | 亚洲桃色在线一区| 国产精品一二三四五| 日韩一区二区精品在线观看| 午夜天堂影视香蕉久久| 日本乱人伦aⅴ精品| 亚洲欧洲日韩女同| 成人一区在线看| 国产欧美一区二区三区在线老狼| 美国三级日本三级久久99| 欧美日韩激情在线| 亚洲成人动漫一区| 在线看国产一区二区| 亚洲精品成人悠悠色影视| av激情成人网| 国产精品大尺度| 成人动漫一区二区三区| 国产精品家庭影院| 色哟哟亚洲精品| 亚洲一区二区三区中文字幕| 一本大道久久a久久精二百| 亚洲精品中文字幕乱码三区|