zoukankan      html  css  js  c++  java
  • 非递归遍历树

    可能编译时会有些语法小错误(比如分号,->,等),很容易就自己纠正了哦,思路绝对是完全正确的,所以用的话就自己试着改改吧,直接复制粘贴,就正确,岂不是太没写代码体验了,自己改改才印象更加深刻的呢()~~~~;

    //非递归遍历二×树
    #include<iostream>
    using namespace std;
    //二叉链存储
    typedef struct BiNode{
        char data;
        struct BiNode *lchild,*rchild;
    }BiTNode,*BiTree;
    
    //链栈
    typedef struct StackNode{
        BiTNode data;
        struct StackNode *next;
    }StackNode,*LinkStack;
    
    void CreatBiTree(BiTree &T){
        char ch;
        cin>>ch;
        if(ch=='#') T==NULL;
        else{
            T=new BiTNode;
            T->data=ch;
            CreatBiTree(T->lchild);
            CreatBiTree(T->rchild);
        }
    }
    
    void InitStack(LinkStack &S)
    {
    	//构造一个空栈S,栈顶指针置空
    	S=NULL;
    }
    
    void StackEmpty(LinkStack S){
        if(!S){
            return true;
        }else{
            return false;
        }
    }
    
    void Push(LinkStack &S,BiTree e){
        StackNode *p=new StackNode;
        p->data=*e;
        p->next=S;
        S=p;
    }
    
    void pop(LinkStack &S BiTree e){
        if(S!=NULL){
            *e=S->data;
            StackNode *p=S;
            S=S->next;
            delete p;
        }
    }
    //中序
    void InOderTraversel1(BiTree T){
        LinkStack S;BiTree p;
        BiTree q=new BiTNode;
        InitStack(S); p=T;
        while(p||!StackEmpty(S)){
            if(p){
                push(S,p);
                p->lchild;
            }else{
                pop(S,p);
                cout<<q->data;
                p=q->rchild;
            }
        }
    }
    
    void main(){
        BiTree tree;
        cout<<"please input
    ";
        CreatBiTree(tree);
        cout<<"result:
    ";
        InOderTraversel1(tree);
        cout<<endl;
    }
    
  • 相关阅读:
    Java的值传递机制
    面向对象
    java中static关键字的作用
    方法的重载和重写
    this和super的用法
    Java中关于return的理解
    java经典的内存图 (数据结构)
    java IO最让初学者误解的取名方式
    UDP 与 TCP简单入门理解示例
    Shiro简单入门
  • 原文地址:https://www.cnblogs.com/ygjzs/p/11874577.html
Copyright © 2011-2022 走看看