zoukankan      html  css  js  c++  java
  • 先序遍历建树

    以后的算法中可能需要有建树的过程,就把建树的过程,单独弄出来了。

    通过先序遍历来建立一棵树。如果要建立的树长成这样:

                       10
                                               /     \
                                             6        14
                                           /   \      / 
                                        4      8   12

    那么输入则是应该是这样  10  6  4 # # 8 # # 14  12 # # #  应该是每一个值成为一行,而不是我这样把所有的值都写成一行。

    他的规则就是,一个先序遍历的过程,先10,再6,在4,在NULL,在NULL,在8,在14,在12,在NULL,NULL,NULL


    #include <iostream>
    using namespace std;
    
    struct TreeNode
    {
        int data;
        TreeNode* pLeftChild;
        TreeNode* pRightChild;
    };
    
    void CreateTree(TreeNode*& pRoot)
    {
        char buffer[10];  
        memset(buffer, 0, 10);  
        std::cin.getline(buffer, 9);  
        int a = atoi(buffer);  
        if(a == 0) pRoot = NULL;  
        else  
        {  
            pRoot = new TreeNode();  
            pRoot->data = a;  
            pRoot->pLeftChild = pRoot->pRightChild = NULL;  
            CreateTree(pRoot->pLeftChild);  
            CreateTree(pRoot->pRightChild);  
        }  
    }
  • 相关阅读:
    HTML5基础知识(1)--上标和下标文本
    jQuery基础--样式篇(5)
    jQuery基础--样式篇(4)
    jQuery基础--样式篇(3)
    jQuery基础--样式篇(2)
    jQuery基础--样式篇(1)
    使用D3绘制图表(7)--饼状图
    使用D3绘制图表(6)--竖直柱状图表
    安装Centos 7 错误解决
    linux下搭建LAMP
  • 原文地址:https://www.cnblogs.com/cyttina/p/2741761.html
Copyright © 2011-2022 走看看