• 关于二叉树指针和引用的体会(转载)


    举例:创建二叉树,参数用(BiTNode **root)和(BiTNode &root)的区别

    分析:前面的是传递的二重指针,后面的是传递指针的引用,效果是一样的,就是修改一级指针的值,让这个指针指向新的内存空间。。

    1)二级指针作为函数参数

    [cpp] view plaincopy
     
    1. void CreateBiTree(BiTNode **root)    //二级指针作为函数参数    
    2. {    
    3.     char ch; //要插入的数据    
    4.     scanf(" %c", &ch);    
    5.     //cin>>ch;    
    6.     if(ch=='#')    
    7.         *root = NULL;    
    8.     else    
    9.     {    
    10.         *root = (BiTNode *)malloc(sizeof(BiTNode));    
    11.         (*root)->data = ch;    
    12.         printf("请输入%c的左孩子:",ch);    
    13.         CreateBiTree(&((*root)->lchild));    
    14.         printf("请输入%c的右孩子:",ch);    
    15.         CreateBiTree(&((*root)->rchild));    
    16.     }    
    17. }    


    2)引用类型作为参数

    [cpp] view plaincopy
     
      1. void CreateBiTree(BiTree &root)  
      2. {  
      3.     char ch;  
      4.     cin>>ch;  
      5.     if(ch=='#')  
      6.         root=NULL;  
      7.     else  
      8.     {  
      9.         root=(BiTNode*)malloc(sizeof(BiTNode));  
      10.         root->data=ch;  
      11.         cout<<"左孩子:"<<endl;  
      12.         CreateBiTree(root->lchild);  
      13.         cout<<"右孩子:"<<endl;  
      14.         CreateBiTree(root->rchild);  
      15.     }  
      16. }  
  • 相关阅读:
    杨辉三角形
    open live writer
    已加载"C:WindowsSysWOW64msvcp120d.dll".无法查找或打开 PDB 文件.
    4.标准信号与槽
    python的单元测试unittest(一)
    python面向对象--类与对象
    python的文件操作与目录操作os模块
    Jenkins的安装与配置
    selenium切换到iframe
    selenium对富文本的操作
  • 原文地址:https://www.cnblogs.com/huangxingkezhan/p/3353520.html
Copyright © 2020-2023  润新知