数据结构-树的基础代码
生活随笔
收集整理的這篇文章主要介紹了
数据结构-树的基础代码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.樹的先序遍歷-遞歸
void PreOrder(BiTree T){if(T!=NULL){visit(T);PreOrder(T->lchild);PreOrder(T->rchild);} }2.樹的中序遍歷-遞歸
void InOrder(BiTree T){if(T!=NULL){InOrder(T->lchild);visit(T);InOrder(T->rchild);} }
3.樹的后序遍歷-遞歸
void PostOrder(BiTree T){if(T!=NULL){PostOrder(T->lchild);PostOrder(T->rchild);visit(T);} }4.樹的層次遍歷
void LevelOrder(BiTree T){InitQueue(Q);BiTree p;EnQueue(Q,T);while(!IsEmpty(Q)){DeQueue(Q,p);visit(p);if(p->lchild!=NULL)EnQueue(Q,p->lchild);if(p->rchild!=NULL)EnQueue(Q,p->rchild);} }
5.中序遍歷-非遞歸
void InOrder2(BiTree T){InitStack(S);BiTree p=T; //p是遍歷指針while(p||!IsEmpty(S)){ //棧不空或p不空時循環(huán)if(p){Push(S,p); //每遇到非空二叉樹先左走p=p->lchild;}else{Pop(S,p);visit(p);p=p->rchild;} } }總結
以上是生活随笔為你收集整理的数据结构-树的基础代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux bash lsnrctl,[
- 下一篇: WEB安全基础-HTML相关知识