// 求二叉樹的深度和寬度.cpp : 定義控制台應用程式的入口點。
#include "stdafx.h"
#include
#include
using
namespace
std;
struct
btnode
; //先序建立二叉樹
void
creatbtree(btnode *&root)
else
} //求二叉樹的深度
intgetdepth(btnode *proot)
// int nleftlength = getdepth(proot->m_left);
// int nrigthlength = getdepth(proot->m_right);
// return nleftlength > nrigthlength ? (nleftlength + 1) : (nrigthlength + 1);
return
getdepth(proot->m_left) > getdepth(proot->m_right) ?
(getdepth(proot->m_left) + 1) : (getdepth(proot->m_right) + 1);
} //求二叉樹的寬度
intgetwidth(btnode *proot)
intnlastlevelwidth = 0;
//記錄上一層的寬度
intntemplastlevelwidth = 0;
intncurlevelwidth = 0;
//記錄當前層的寬度
intnwidth = 1;
//二叉樹的寬度
queuemyqueue;
myqueue.push(proot);//將根節點入佇列
nlastlevelwidth = 1;
btnode *pcur = null;
while
(!myqueue.empty())
//佇列不空
if(pcur->m_right != null)
ntemplastlevelwidth--;
} ncurlevelwidth = myqueue.size();
nwidth = ncurlevelwidth > nwidth ? ncurlevelwidth : nwidth;
nlastlevelwidth = ncurlevelwidth;
} return
nwidth;
} int
_tmain(
intargc, _tchar* argv)
執行結果:
CSS 寬度與高度
高度與字型 內聯元素 空格 內聯元素之間 no break space 兩個inline元素之間有任何回車,tab,換行或其他任意字元,都會變成空格。因而導航欄li元素橫排不要使用inline block方法,用float 清除浮動。中文的對齊方式技巧 文字垂直居中 用line height加pad...
二叉樹最大高度與寬度
原題來自維基oi 二叉樹最大寬度與高度 題目描述 給出乙個二叉樹,輸出它的最大寬度和高度.輸入描述 第一行乙個整數n.下面n行每行有兩個數,對於第i行的兩個數,代表編號為i的節點所連線的兩個左右兒子的編號.如果沒有某個兒子為空,則為0.輸出描述 輸出一共三行,分別為前序遍歷,中序遍歷和後序遍歷.編號...
獲取高度寬度
獲取瀏覽器顯示區域 可視區域 的高度 window height 獲取瀏覽器顯示區域 可視區域 的寬度 window width 獲取頁面的文件高度 document height 獲取頁面的文件寬度 document width 瀏覽器當前視窗文件body的高度 document.body hei...