*&代表什么? 

   //https://zhidao.baidu.com/question/2266744263935050308.html

  这是C++的语法写法,&在形参中表示“引用”实参,
  LNode * &lst ;  中LNode * 是个整体,表示变量类型是LNode类指针, &lst中的&表明引用实参,即代表实参的一个别名。   
  标准C是不支持这种写法的。

追问:

       &不是取地址符吗? 引用参数是什么意思

追答:

      &在变量定义区,表示引用,要注意它的用法,
      &在变量操作区,表示取地址符,如:

           int x=10, *p=&x ;  //这里&作用在x上, 是取地址符
           int &x  ;   //引用是C++引入的一个新特性,你要学的不是C++,则上述代码你是搞不懂的。 这里的&就表示引用。

                         //一般这种形式会在形参中出现。

       LNode * &lst ;  中LNode * 是个整体,表示变量类型是LNode类指针,
&lst中的&表明引用实参,即代表实参的一个别名。 操作引用变量就相当于操作实参变量

 

利用前序和中序求二叉树(源代码):
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring>
using namespace std;; const int N=31; typedef struct BitNode { char value;
BitNode *lchild,*rchild; }BitNode,*BiTree; /* *&代表什么? 这是C++的语法写法,&在形参中表示“引用”实参,
LNode * &lst ; 中LNode * 是个整体,表示变量类型是LNode类指针, &lst中的&表明引用实参,即代表实参的一个别名。
标准C是不支持这种写法的。 追问 &不是取地址符吗? 引用参数是什么意思 追答 &在变量定义区,表示引用,要注意它的用法, &在变量操作区,表示取地址符,如:
int x=10, *p=&x ; //这里&作用在x上, 是取地址符 int &x ;
//引用是C++引入的一个新特性,你要学的不是C++,则上述代码你是搞不懂的。 这里的&就表示引用。 一般这种形式会在形参中出现。 LNode * &lst
; 中LNode * 是个整体,表示变量类型是LNode类指针, &lst中的&表明引用实参,即代表实参的一个别名。 操作引用变量就相当于操作实参变量 */
void CreatTree(BitNode* &root,char *pre,int l1,int r1,char *in,int l2,int r2) {
if(l1<=r1&&l2<=r2) { int key=pre[l1]; int midIndex=-1; for(int i=l2;i<=r2;i++)
{ if(in[i]==key) { midIndex=i; break; } } root=(BitNode
*)malloc(sizeof(BitNode)); root->value=key; root->lchild=NULL;
root->rchild=NULL; int llen=midIndex-l2; CreatTree(root->lchild, pre, l1+1,
l1+llen, in, l2, midIndex-1); CreatTree(root->rchild, pre, l1+llen+1, r1, in,
midIndex+1, r2); } } void postOrderTraverse(BitNode *&root) { if(root->lchild)
postOrderTraverse(root->lchild); if(root->rchild)
postOrderTraverse(root->rchild); printf("%c",root->value); } int main() { char
pre[N],in[N]; while(scanf("%s",pre)!=EOF) { scanf("%s",in); int
len1=strlen(pre); int len2=strlen(in); BitNode *root=NULL;
CreatTree(root,pre,0,len1-1,in,0,len2-1); postOrderTraverse(root);
printf("\n"); } return 0; }
 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信