• 第一天正式来公司上班


    这辈子的第一次给了H3D,哈哈,虽然不是我梦想中的那种工作场所,不过还可以,梦想中的估计很难找啦
    这几天的难点有:树形结构删除节点,c字符串的用法,堆栈空间
    还是c/c++基础差了些,我要继续努力

    有个程序很有意思:


    #include <iostream>
    #include <string>
    using namespace std;


    struct node
    {
     node(const string& name, node *fc = 0, node* ns = 0)
      : name(name), firstChild(fc), nextSibling(ns)
     {

     }
     
     ~node()
     {
     
     }

     node *firstChild;
     node *nextSibling;
     string name;
    };

    void delete(node* root)
    {
     if (NULL != root)
     {
      deleteAll(root->firstChild);
     }


    }

    void deleteAll(node *& root)
    {
     if (NULL != root)
     {
      deleteAll(root->firstChild);
      deleteAll(root->nextSibling);
      

      delete root;
      root = NULL;
     }
    }

    void print(node *root, int tab)
    {
     if (NULL != root)
     {
      for (int i = 0; i < tab; ++i)
      {
       cout << ' ';
      }
      cout << root->name << endl;

      print(root->firstChild, tab + 4);
      print(root->nextSibling, tab);
      
     }
    }


    int main()
    {
     node *root = new node("root");
     node *c1 = new node("child1"); 
     node *c2 = new node("child2");
     node *c3 = new node("child3");
     
     c1->nextSibling = c2;
     c2->nextSibling = c3;
     root->firstChild = c1;

     node *c11 = new node("child11");
     c1->firstChild = c11;
     node *c12 = new node("child12");
     c11->nextSibling = c12;

     node *c21 = new node("child21");
     c2->firstChild = c21;
     node *c22 = new node("child22");
     c21->nextSibling = c22;


     c11->firstChild = new node("child111");

     print(root, 0);
    /////////////////////////////////////////
    // 这个地方如果改成 deleteAll( c1 );便会 出内存错误,最后才知道原来是堆栈问题。恩,不错
     deleteAll(root->firstChild);
     
     //print(root, 0);

     return 0;
    }

  • 相关阅读:
    在vs code中进行本地调试和开启本地服务器
    按highcharts中column形式转对象展现格式
    forEach、for in 、 for of三者的区别
    一位数左边补0,slice也可以
    js判断对象是否为空
    谷歌最佳实践
    谷歌最佳实践
    谷歌最佳实践
    谷歌最佳实践
    企业代码版本管理之争:TrunkBased vs GitFlow vs AoneFlow vs OneFlow vs ExeFlow
  • 原文地址:https://www.cnblogs.com/hellohuan/p/1244759.html
Copyright © 2020-2023  润新知