- 相關(guān)推薦
層次遍歷算法筆試題
層次遍歷算法
// 二叉樹的數(shù)據(jù)結(jié)構(gòu)
structBinaryTree
{
int value; // 不寫模板了,暫時(shí)用整形代替節(jié)點(diǎn)的數(shù)據(jù)類型
BinaryTree *left;
BinaryTree *right;
};
BinaryTree*root; // 已知二叉樹的根節(jié)點(diǎn)
//層次遍歷
voidLevel( const BinaryTree *root )
{
Queue *buf = new Queue(); // 定義一個(gè)空隊(duì)列,假設(shè)此隊(duì)列的節(jié)點(diǎn)數(shù)據(jù)類型也是整形的
BinaryTree t; // 一個(gè)臨時(shí)變量
buf.push_back(root); //令根節(jié)點(diǎn)入隊(duì)
while( buf.empty == false ) // 當(dāng)隊(duì)列不為空
{
p = buf.front(); // 取出隊(duì)列的第一個(gè)元素
cout<<p->value<<' ';
if( p->left != NULL ) // 若左子樹不空,則令其入隊(duì)
{
q.push( p->left );
}
if( p->right != NULL ) // 若右子樹不空,則令其入隊(duì)
{
q.push( p->right );
}
buf.pop(); // 遍歷過的節(jié)點(diǎn)出隊(duì)
}
cout<<endl;
}
【層次遍歷算法筆試題】相關(guān)文章:
360筆試題目06-27
筆美國(guó)國(guó)家儀器試題目09-23
介紹一下如何利用路徑遍歷進(jìn)行攻擊及如何防范筆試題目08-21
搜狐產(chǎn)品筆歸分享筆試題目07-05
新浪筆經(jīng)04-27
除夕算不算法定假日09-21
新聞總署筆經(jīng)10-13
IBM公司筆經(jīng)09-15
營(yíng)銷卷筆經(jīng)10-25