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

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

?? page196.cpp

?? 包含常見的數據結構的類和函數
?? CPP
字號:
#include<stack.h>#include<queue.h>#define DefaultSize 20template <class Type> class Tree;template <class Type> class TreeNode {  friend class Tree<Type>;  private:    Type data;    TreeNode<Type> *firstChild, *nextSibling;    TreeNode ( Type value=0, TreeNode<Type> *fc=NULL, TreeNode<Type> *ns=NULL ):data (value), firstChild (fc), nextSibling (ns) { }    };template <class Type> class Tree {  public:    Tree ( ) { root = current = NULL; }    void BuildRoot(Type rootVal);    int  Root();    int  FirstChild();    int  NextSibling();    int  Parent();    int  Find(Type target);    void InsertChild(Type value);    int  RemoveChild(int i);    void RemovesubTree();    void PreOrder();    void NorecPreOrder();    void PostOrder();    void PostOrder1();    void LevelOrder();    int  IsEmpty();    void visit();  private:    TreeNode<Type> *root, *current;    void PreOrder ( ostream & out, TreeNode<Type> *p );    int Find ( TreeNode<Type> *p, Type target );    void RemovesubTree ( TreeNode<Type> *p );    int FindParent ( TreeNode<Type> *t, TreeNode<Type> *p );  };  template <class Type> void Tree<Type>::BuildRoot ( Type rootVal ) {    root = current = new TreeNode<Type> (rootVal);    }  template <class Type> int Tree<Type>:: Root ( ) {    if ( root == NULL ) {     current = NULL;     return 0;       }      else {	current = root;	return 1;	  }    }  template <class Type> int Tree<Type>::FirstChild ( ) {    if ( current != NULL && current->firstChild != NULL ) {      current = current->firstChild;  return 1;      }    current = NULL;    return 0;    }  template <class Type> int Tree<Type>::NextSibling ( ) {    if ( current != NULL && current->nextSibling != NULL ) {      current = current->nextSibling;      return 1;       }    current = NULL;  return 0;    }  template <class Type> int Tree<Type>::Parent ( ) {    TreeNode<Type> *p = current,  *t;    if ( current == NULL || current == root ) { current = NULL;  return 0; }    t = root;    int k = FindParent ( t, p );    return k;  }  template <class Type> int Tree<Type>::FindParent ( TreeNode<Type> * t,TreeNode<Type> * p ){    TreeNode<Type> *q = t->firstChild;    while ( q != NULL && q != p ) {      int i=FindParent(q,p);      if( i )  return i;      q = q->nextSibling;      }    if ( q != NULL && q ==p ) { current = t;  return 1; }      return 0;  }  template <class Type> int Tree<Type>::Find ( Type target ) {    if ( IsEmpty ( ) ) return 0;    return Find ( root, target );  }  template <class Type> int Tree<Type>::Find ( TreeNode<Type> *p, Type target ) {    int result = 0;    if ( p->data == target ) { result = 1;  current = p; }      else {	TreeNode<Type> *q = p->firstChild;	while ( q != NULL && ! ( result = Find ( q, target ) ) ) q = q->nextSibling;		   }		   return result;		}  template <class Type> void Tree<Type>::InsertChild ( Type value ) {    TreeNode<Type> *newNode = new TreeNode<Type> (value);    if ( current->firstChild == NULL ) current->firstChild = newNode;      else {	TreeNode<Type> *p = current->firstChild;	while ( p->nextSibling != NULL ) p = p->nextSibling;	p->nextSibling = newNode;	}    }  template <class Type> int Tree<Type>::RemoveChild ( int i ) {    TreeNode<Type> * s;    if ( i == 1 ) {      s = current->firstChild;      if ( s != NULL ) current->firstChild = s->nextSibling;      else return 0;      }      else {	TreeNode<Type> *q = current->firstChild;  int k = 1;	while ( q != NULL && k < i-1 ) { q = q->nextSibling;  k++; }	if ( q != NULL ) {	  s = q->nextSibling;	  if ( s != NULL )q->nextSibling = s->nextSibling;	  else return 0;	 }	 else return 0;      }    RemovesubTree(s);    return 1;    }  template <class Type> void Tree<Type>::RemovesubTree ( TreeNode<Type> *p ) {    TreeNode<Type> *q = p->firstChild,  *next;				    while ( q != NULL ) {      next = q->nextSibling;      RemovesubTree ( q );  q = next;      }    delete p;    }  template <class Type> void Tree<Type>::RemovesubTree ( ) {    if ( current != NULL ) {      if ( current == root ) root = NULL;	RemovesubTree ( current );  current = NULL;	  }    }  template <class Type> void Tree<Type>::PreOrder ( ) {    if ( !IsEmpty ( ) ) {      visit ( );      TreeNode<Type> *p = current;      int i = FirstChild ( );      while (i) { PreOrder ( );  i = NextSibling ( ); }      current = p;      }    }  template <class Type> void Tree<Type>::PostOrder ( ) {    if ( !IsEmpty ( ) ) {      TreeNode<Type> *p = current;      int i = FirstChild ( );      while (i) {	PostOrder ( );	i = NextSibling ( );	  }       current = p;       visit ( );	}    }  template <class Type> void Tree<Type>::NorecPreOrder( ) {    Stack<TreeNode<Type>*> st;    TreeNode<Type> *p = current;    do {      while ( !IsEmpty ( ) ) {	visit ( );	st.Push ( current );	FirstChild ( );	 }      while ( IsEmpty ( ) && !st.IsEmpty ( ) ) {       current = st.Pop ( );       NextSibling ( );	 }	} while ( !IsEmpty ( ) );    current = p;    }  template <class Type> void Tree<Type>::PostOrder1 ( ) {    Stack<TreeNode<Type>* > st(DefaultSize);    TreeNode<Type> *p = current;    do {      while ( !IsEmpty ( ) ) {	st.Push(current);	FirstChild ( );	}      while ( IsEmpty ( ) && !st.IsEmpty ( ) ) {	current = st.Pop ( );	visit ( );	NextSibling ( );	}     } while ( !IsEmpty ( ) );    current = p;    }  template <class Type> void Tree<Type>::LevelOrder ( ) {    Queue<TreeNode<Type> * > Qu ;    if ( ! IsEmpty ( ) ) {      TreeNode<Type> *p = current;  Qu.EnQueue ( current );      while ( !Qu.IsEmpty ( ) ) {	current = Qu.DeQueue ( );	visit ( );	FirstChild ( );	while ( !IsEmpty ( ) ) { Qu.EnQueue ( current );  NextSibling ( ); }	}      current = p;    }  }  template<class Type> void Tree<Type>::visit(){    cout<<current->data<<endl;    }  template<class Type> int Tree<Type>::IsEmpty(){    return current==NULL;    }void main(){  Tree<int> tree;  tree.BuildRoot(100);  for(int i=0;i<8;i++)  tree.InsertChild(i);  tree.PreOrder();  tree.PostOrder();  tree.PostOrder1();  tree.RemoveChild(5);  tree.PreOrder();  tree.NorecPreOrder();  tree.LevelOrder();  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区爱爱| 九九视频精品免费| 一区二区久久久久久| 亚洲一区二区三区四区的| 亚洲激情成人在线| 婷婷国产v国产偷v亚洲高清| 日韩激情中文字幕| 国产乱码字幕精品高清av| 成人久久18免费网站麻豆| 久久久综合九色合综国产精品| 日韩精品电影在线| 成人av网站在线| 久久99久久99| 激情综合色综合久久| 欧美电影在哪看比较好| 老色鬼精品视频在线观看播放| 国产亚洲一区二区三区四区| 国产精品99久| 久久在线观看免费| 久久国产人妖系列| 国产日韩综合av| 91精品久久久久久久久99蜜臂| 国产精品国产三级国产三级人妇| 精久久久久久久久久久| 91免费看`日韩一区二区| 亚洲欧洲一区二区三区| 99久久免费国产| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲一区二区三区中文字幕在线| 成人精品免费视频| 午夜精品久久久久久久久久| 欧美日本国产一区| 日韩成人伦理电影在线观看| 亚洲欧美日本韩国| 91视频观看视频| 99国产精品久| 日韩亚洲欧美一区| 亚洲欧美二区三区| 日韩高清在线一区| 美女一区二区视频| 综合在线观看色| 欧美精品亚洲二区| 不卡av免费在线观看| 中文字幕日韩精品一区| 欧美一二三四区在线| 色综合色狠狠天天综合色| 成人免费看黄yyy456| 成人精品小蝌蚪| 99久久精品国产观看| 不卡欧美aaaaa| 色狠狠一区二区三区香蕉| 在线免费观看日本一区| 884aa四虎影成人精品一区| 久久精品国产亚洲aⅴ| 色综合久久中文字幕综合网| 成人午夜电影久久影院| 精品一区二区免费| 日韩一区有码在线| 日韩欧美一区电影| 欧美国产国产综合| 裸体健美xxxx欧美裸体表演| 4hu四虎永久在线影院成人| 99精品欧美一区二区三区综合在线| 国产激情偷乱视频一区二区三区| 国产欧美精品在线观看| 成人avav影音| 亚洲va欧美va国产va天堂影院| 69堂国产成人免费视频| 国产成人综合精品三级| 亚洲人亚洲人成电影网站色| 精品视频在线免费观看| 一本一道波多野结衣一区二区| 91在线一区二区| 日韩午夜三级在线| 一区二区欧美精品| 国内精品写真在线观看| 国产精品一线二线三线| 2021久久国产精品不只是精品| 国产午夜精品一区二区三区四区| 亚洲女人****多毛耸耸8| 99久久99久久免费精品蜜臀| 精品一区二区三区在线视频| 国产成a人无v码亚洲福利| 久久久精品蜜桃| 欧美性感一类影片在线播放| 久久se精品一区二区| 亚洲美女视频在线| 精品区一区二区| 色综合久久久久久久| 韩国精品在线观看| 亚洲国产欧美在线| 国产调教视频一区| 欧美丰满美乳xxx高潮www| 久久99精品国产.久久久久久| 亚洲天天做日日做天天谢日日欢| 欧美妇女性影城| 91色综合久久久久婷婷| 久热成人在线视频| 亚洲国产精品一区二区尤物区| 久久久www免费人成精品| 色成人在线视频| 不卡一区二区三区四区| 久久国产福利国产秒拍| 在线成人免费观看| 亚洲日本中文字幕区| 国产精品美女视频| 色综合一区二区三区| 一区二区欧美视频| 日韩一区二区三区电影在线观看| 亚洲美女在线一区| 日韩片之四级片| 91香蕉国产在线观看软件| 免费成人在线视频观看| 日韩欧美黄色影院| 成人99免费视频| 日韩欧美黄色影院| 日韩亚洲电影在线| 91精品国产综合久久蜜臀| 在线精品亚洲一区二区不卡| 99在线热播精品免费| 麻豆成人免费电影| 亚洲成人激情社区| 久久久久久久久久久久久女国产乱| 不卡一卡二卡三乱码免费网站| 日韩影院精彩在线| 国产精品久久久久久亚洲伦| 777午夜精品视频在线播放| 国产传媒日韩欧美成人| 日韩一区精品字幕| 亚洲激情一二三区| **欧美大码日韩| 中文字幕一区二区不卡| 国产精品美女久久久久久| 精品av久久707| 精品三级av在线| 日韩欧美在线影院| 欧美精品1区2区3区| 99视频在线观看一区三区| 在线欧美日韩精品| 国产中文字幕一区| 午夜精品在线看| 亚洲国产精品影院| 日韩一区欧美小说| 在线综合+亚洲+欧美中文字幕| 91欧美一区二区| 99久久99久久久精品齐齐| 激情六月婷婷综合| 午夜精品久久久久久| 日韩中文字幕不卡| 日日噜噜夜夜狠狠视频欧美人| 欧美国产激情一区二区三区蜜月| 日韩一级片在线播放| 国产欧美一区二区在线| 欧美激情一区三区| 亚洲视频电影在线| 亚洲国产一二三| 精品国产免费久久| 欧美综合一区二区三区| 岛国精品一区二区| 成人永久aaa| 欧美在线综合视频| 夫妻av一区二区| 2024国产精品视频| 精品国产三级电影在线观看| 亚洲乱码国产乱码精品精小说| 日本欧美肥老太交大片| av动漫一区二区| 欧美激情艳妇裸体舞| 午夜久久久久久久久久一区二区| 综合色中文字幕| 亚洲高清中文字幕| 精品视频在线视频| 亚洲人成伊人成综合网小说| 成人91在线观看| 亚洲精品中文字幕在线观看| 欧美在线free| 蜜桃av噜噜一区二区三区小说| 欧美高清视频一二三区| 国产一区亚洲一区| 亚洲一区免费观看| 中文字幕第一区| 欧美一区二区三区免费观看视频| 国产一区二区在线影院| 亚洲国产乱码最新视频 | 麻豆精品在线观看| 国产欧美一区二区精品婷婷| 成人免费精品视频| 国产一区在线视频| 欧美日韩不卡一区二区| 精品一区二区三区在线播放视频| 久久久www成人免费无遮挡大片 | 精品一区二区三区免费| 中文字幕在线不卡一区 | 欧美成人在线直播| 91丨九色丨黑人外教| 国产毛片精品一区| 久99久精品视频免费观看| 亚洲欧美激情小说另类| 亚洲国产精品高清| 欧美成人aa大片|