zoukankan      html  css  js  c++  java
  • 遍历二叉树

    #include<iostream>
    using namespace std;
    
    /*-------二叉树的二叉链表存储表示-------*/
    typedef struct BiTNode
    {
    	char data;	//结点数据域
    	BiTNode *lchild,*rchild;	//左右孩子指针
    }*BiTree;
    
    /*-------先序遍历的顺序建立二叉链表-------*/
    void CreateBiTree(BiTree &T)
    {
    	char ch;
    	cin>>ch;
    	if(ch=='#')	//递归结束,建空树
    		T=NULL;
    	else	//递归创建二叉树
    	{
    		T=new BiTNode;	//生成根结点
    		T->data=ch;	//根结点数据域置为ch
    		CreateBiTree(T->lchild);	//递归创建左子树
    		CreateBiTree(T->rchild);	//递归创建右子树
    	}
    }
    
    /*-------先序遍历的递归算法-------*/
    void PreorderTraverse(BiTree T)
    {
    	if(T)	//若二叉树非空
    	{
    		cout<<T->data;	//访问根结点
    		PreorderTraverse(T->lchild);	//先序遍历左子树
    		PreorderTraverse(T->rchild);	//先序遍历右子树
    	}
    }
    
    int main()
    {
    	BiTree T;
    	CreateBiTree(T);
    	PreorderTraverse(T);
    	cout<<endl;
    	return 0;
    }
    

      

  • 相关阅读:
    面试生信工程师2
    R语言矩阵相关性计算及其可视化?
    PCA方差解释比例求解与绘图?
    MySQL 练习
    oracle高级数据查询技术
    Oracle安全管理
    基本查询语句
    管理表
    oracle PL/SQL高级编程
    oracle视图与索引
  • 原文地址:https://www.cnblogs.com/longzu/p/5381384.html
Copyright © 2011-2022 走看看