软考程序员教程重点提炼之后序遍历非递归算法

程序员 责任编辑:小狐狸 2016-08-16

添加老师微信

备考咨询

加我微信

摘要:下面是希赛软考学院为大家提供的软考程序员教程重点提炼之后序遍历非递归算法,希望能帮助学友们。

       >>>>点击进入了解程序员培训视频

   >>>>点击进入了解程序员在线辅导

 >>>>点击进入了解程序员考试教材


       下面是希赛软考网为大家提供的软考程序员教程重点提炼之后序遍历非递归算法,希望能帮助学友们。


       后序遍历非递归算法

       #define maxsize 100

       typedef enum{L,R}tagtype;

       typedef struct

       {

       Bitree ptr;

       tagtype tag;

       }stacknode;

       typedef struct

       {

       stacknode Elem[maxsize];

       int top;

       }SqStack;

       //后序遍历

       void PostOrderUnrec(Bitree t)

       {

       SqStack s;

       stacknode x;

       StackInit(s);

       p=t;

       do

       {

       while(p!=null)//遍历左子树

       {

       x.ptr=p;

       x.tag=L;//标记为左子树

       push(s,x);

       p=p->lchild;

       }

       while(!StackEmpty(s)&&s.Elem[s.top].tag==R)

       {

       x=pop(s);

       p=x.ptr;

       visite(p->data);//tag为R,表示右子树访问完毕,故访问根结点

       }

       if(!StackEmpty(s))

       {

       s.Elem[s.top].tag=R;//遍历右子树

       p=s.Elem[s.top].ptr->rchild;

       }

       }while(!StackEmpty(s));

       }//PostOrderUnrec


       返回目录:软考程序员教程重点提炼之算法实例汇总


       希赛软考网拥有十四年软考培训经验希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程多样的培训方式包括在线辅导面授使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!