国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C++非遞歸隊(duì)列實(shí)現(xiàn)二叉樹(shù)的廣度優(yōu)先遍歷

2020-01-26 15:02:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了C++非遞歸隊(duì)列實(shí)現(xiàn)二叉樹(shù)的廣度優(yōu)先遍歷。分享給大家供大家參考。具體如下:

廣度優(yōu)先非遞歸二叉樹(shù)遍歷(或者說(shuō)層次遍歷):

void widthFirstTraverse(TNode* root) {  queue<TNode*> q;   // 隊(duì)列  q.enqueue(root);  TNode* p;  while(q.hasElement()) {   p = q.dequeue();  // 隊(duì)首元素出隊(duì)列   visit(p);     // 訪問(wèn)p結(jié)點(diǎn)   if(p->left)     q.enqueue(p->left);   if(p->right)     q.enqueue(p->right);  } }

附帶兩個(gè)相關(guān)示例:

1. 遞歸先序遍歷二叉樹(shù)

void preTraverse(TNode* root) {  if(!root)   return;  visit(root);  preTraverse(root->left);  preTraverse(root->Right);}

2. 非遞歸先序遍歷二叉樹(shù)

void preTraverseNonRecursive(TNode* root) {  stack<TNode> stack;  // 棧  stack.push(root);  TNode* p;  while(!stack.isEmpty()) { // 棧非空   p = stack.pop();   visit(p);   if(p->pRight)     s.push(p->pRight);   if(p->pLeft)     s.push(p->pLeft);  }}

希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临武县| 阿尔山市| 顺昌县| 汝南县| 资溪县| 清涧县| 满城县| 岳池县| 屏东市| 奉新县| 七台河市| 桐梓县| 孝感市| 南乐县| 吉林省| 浙江省| 诏安县| 长宁区| 清原| 吉隆县| 常宁市| 高淳县| 定日县| 沅江市| 遵义县| 民丰县| 岳阳县| 綦江县| 和静县| 通州区| 金门县| 汪清县| 武汉市| 江门市| 上思县| 鄢陵县| 萨嘎县| 客服| 丹巴县| 黄浦区| 横峰县|