首页 >> 车评 >

二叉树算法描述(二叉树算法)

2024-07-13 18:13:49 来源: 用户: 

void Change(BiTreeNode * root) //传入的是二叉树中第一个存放有数据的结点的地址~也就是说如果二叉树建立有头结点的话,传入的地址应该是头结点的左子树{ BiTreeNode *q,*m; LQueue head; QueueInitiate(&head); QueueAppend(&head, root); while(QueueNotEmpty(head)) { QueueDelete(&head,&q); m=q->leftChild; q->leftChild=q->rightChild; q->rightChild=m; if(q->leftChild!=NULL) QueueAppend(&head, q->leftChild); if(q->rightChild!=NULL) QueueAppend(&head, q->rightChild); } }这个是以前写的,用队列实现转换左右子树的程序。

其中队列定义如下typedef struct qnode{ DataType data; struct qnode *next;} LQNode; typedef struct{ LQNode *front; /*队头指针*/ LQNode *rear; /*队尾指针*/} LQueue;int QueueAppend(LQueue *Q, DataType x)/*把数据元素值x插入链式队列Q的队尾,入队列成功则返回1,否则返回0 */int QueueDelete(LQueue *Q, DataType *d)/*删除链式队列Q的队头数据元素值到d 。

出队列成功则返回1,否则返回0*/当然也可以用递归实现~仅供参考。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章
  • 【ex代表的含义是什么】在日常生活中,我们经常会看到“ex”这个词,尤其是在一些正式或专业场合中。那么,“e...浏览全文>>
  • 【extra是什么轮胎】“Extra”并不是一个广为人知的轮胎品牌,因此在市面上很难找到以“Extra”作为主要品牌的...浏览全文>>
  • 【extrasteel是什么牌子的轮胎】“extrasteel是什么牌子的轮胎”是许多消费者在选购轮胎时会提出的问题。Extra...浏览全文>>
  • 【extraload是什么轮胎】总结:“Extraload”并不是一个常见的轮胎品牌或型号,而是一个可能用于描述轮胎性能...浏览全文>>
  • 【exr为什么不火了】EXR(Enhanced Resolution)作为一种图像处理技术,曾经在一些特定领域中受到关注,尤其...浏览全文>>
  • 【exr是什么牌子的汽车价格是多少】EXR并不是一个广为人知的汽车品牌,因此在目前主流的汽车市场中,并没有明...浏览全文>>
  • 【exr是什么牌子的排气】EXR并不是一个广为人知的排气系统品牌,它可能是一个特定型号、产品线或某些小众品牌...浏览全文>>
  • 【evo2014】evo2014 是一项专注于电子游戏和电竞领域的年度盛会,于2014年举办。该活动汇集了全球众多游戏开...浏览全文>>
  • 【evo10手动挡】在汽车市场中,手动挡车型逐渐被自动挡所取代,但仍有部分消费者对手动挡有着特殊的情怀。其中...浏览全文>>
  • 【evo10是什么车】“evo10是什么车”是许多汽车爱好者和消费者在搜索时提出的常见问题。实际上,“evo10”并不...浏览全文>>