[ThinkingDog]是一個積極向上、樂觀、熱心的人。
沉思的狗の博客
[ThinkingDog]歡迎您的光臨,請多多指教!
微軟等數據結構+算法面試100題_全部出爐_01
/**/
/*
*******************************************************************
created: 2011/05/26 12:13
filename: BSTree2DuLink.h
file base: BSTree2DuLink
file ext: h
author: WT@CHINA
purpose: 把二元查找樹轉變成排序的雙向鏈表
題目:
輸入一棵二元查找樹,將該二元查找樹轉換成一個排序的雙向鏈表。
要求不能創建任何新的結點,只調整指針的指向。
10
/ \
6 14
/ \ / \
4 8 12 16
轉換成雙向鏈表
4=6=8=10=12=14=16。
首先我們定義的二元查找樹 節點的數據結構如下:
struct BSTreeNode
{
int m_nValue; // value of node
BSTreeNode *m_pLeft; // left child of node
BSTreeNode *m_pRight; // right child of node
};
********************************************************************
*/
#include
<
iostream
>
using
namespace
std;
struct
BSTreeNode
{
int
m_nValue;
//
value of node
BSTreeNode
*
m_pLeft;
//
left child of node
BSTreeNode
*
m_pRight;
//
right child of node
}
;
void
BSTree2DuLink(BSTreeNode
*
pNode, BSTreeNode
*
pLeft, BSTreeNode
*
pRight)
{
if
(pNode
->
m_pLeft
!=
NULL)
{
BSTree2DuLink(pNode
->
m_pLeft, pLeft, pNode);
}
else
{
if
(pLeft
!=
NULL)
{
pNode
->
m_pLeft
=
pLeft;
pLeft
->
m_pRight
=
pNode;
}
}
if
(pNode
->
m_pRight
!=
NULL)
{
BSTree2DuLink(pNode
->
m_pRight, pNode, pRight);
}
else
{
if
(pRight
!=
NULL)
{
pNode
->
m_pRight
=
pRight;
pRight
->
m_pLeft
=
pNode;
}
}
}
void
Test_BSTree2DuLink()
{
//
init tree
BSTreeNode node4; node4.m_nValue
=
4
; node4.m_pLeft
=
NULL; node4.m_pRight
=
NULL;
BSTreeNode node8; node8.m_nValue
=
8
; node8.m_pLeft
=
NULL; node8.m_pRight
=
NULL;
BSTreeNode node6; node6.m_nValue
=
6
; node6.m_pLeft
=
&
node4; node6.m_pRight
=
&
node8;
BSTreeNode node12; node12.m_nValue
=
12
; node12.m_pLeft
=
NULL; node12.m_pRight
=
NULL;
BSTreeNode node16; node16.m_nValue
=
16
; node16.m_pLeft
=
NULL; node16.m_pRight
=
NULL;
BSTreeNode node14; node14.m_nValue
=
14
; node14.m_pLeft
=
&
node12; node14.m_pRight
=
&
node16;
BSTreeNode root; root.m_nValue
=
10
; root.m_pLeft
=
&
node6; root.m_pRight
=
&
node14;
//
convert BSTree to DuLink
BSTree2DuLink(
&
root, NULL, NULL);
//
console out the double link list
BSTreeNode
*
p
=
&
root;
while
(p
->
m_pLeft
!=
NULL) p
=
p
->
m_pLeft;
while
(p
!=
NULL)
{
cout
<<
p
->
m_nValue
<<
"
"
;
p
=
p
->
m_pRight;
}
}
發表于 2011-05-26 13:25
沉思的狗
閱讀(256)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
<
2011年5月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
導航
BlogJava
首頁
發新隨筆
發新文章
聯系
聚合
管理
統計
隨筆: 115
文章: 1
評論: 86
引用: 0
常用鏈接
我的隨筆
我的文章
我的評論
我的參與
最新評論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆檔案
(115)
2015年1月 (1)
2011年5月 (12)
2011年4月 (2)
2010年9月 (2)
2010年8月 (4)
2009年9月 (1)
2009年6月 (1)
2009年3月 (1)
2008年6月 (1)
2008年1月 (2)
2007年7月 (2)
2007年6月 (2)
2007年5月 (4)
2007年4月 (1)
2007年1月 (1)
2006年12月 (1)
2006年11月 (2)
2006年10月 (2)
2006年9月 (3)
2006年8月 (6)
2006年7月 (1)
2006年6月 (2)
2006年5月 (10)
2006年4月 (50)
2006年3月 (1)
網址
http://blog.csdn.net/Unagain
v_JULY_v
搜索
積分與排名
積分 - 210874
排名 - 266
最新評論
1.?re: 使用Policy文件來設置Java的安全策略[未登錄]
ss
--啊啊
2.?re: Jni中C++和Java的參數傳遞
老大,Long 是J啊,不是L啊,可害苦我了,趕緊改回來吧;
--cnhua5
3.?re: Jni中C++和Java的參數傳遞
樓主,在jni里返回String和C++里獲取的為什么不一樣,比如在java里看到的值是57891234,在C++里顯示的是5789@,這是為什么啊?
--chr
4.?re: 螺旋數字與坐標
對我的項目很有幫助。
謝謝
--cs221313
5.?re: Jni中C++和Java的參數傳遞
long的符號表寫錯了,作為初學者亞歷山大啊
--hhhhhh
閱讀排行榜
1.?Jni中C++和Java的參數傳遞 (63525)
2.?本地計算機上的 MSSQLSERVER 服務啟動后又停止了。一些服務自動停止,如果它們沒有什么可做的,例如“性能日志和警報”服務。[用批處理解決](22461)
3.?使用Policy文件來設置Java的安全策略(10508)
4.?一個簡單的十六進制計算器(出自Win程序設計)(8747)
5.?VC++6.0 全部默認快捷鍵(6213)
評論排行榜
1.?Upload Server (HTTP 上傳服務JAVA程序) 速度極快(11)
2.?Jni中C++和Java的參數傳遞 (10)
3.?垃圾軟件反刪除批處理文件 (7)
4.?剛寫的八皇后問題 - 遞歸 (隨便你定義幾個皇后了)JAVA(4)
5.?火車運煤問題(4)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 沉思的狗
[ThinkingDog]是一個積極向上、樂觀、熱心的人。
主站蜘蛛池模板:
亚洲欧洲另类春色校园网站
|
亚洲AV无码AV男人的天堂
|
亚洲色大情网站www
|
午夜国产精品免费观看
|
69堂人成无码免费视频果冻传媒
|
久久久受www免费人成
|
亚洲自偷自偷图片
|
中文字幕乱码系列免费
|
亚洲乱码中文字幕久久孕妇黑人
|
一级毛片免费毛片毛片
|
国产成人精品久久亚洲
|
中文字幕a∨在线乱码免费看
|
亚洲国产精品无码AAA片
|
两个人看的www高清免费视频
|
亚洲成在人线av
|
最近免费中文字幕大全高清大全1
|
久久精品国产亚洲
|
91久久青青草原线免费
|
亚洲综合伊人制服丝袜美腿
|
女人被弄到高潮的免费视频
|
精品女同一区二区三区免费播放
|
在线免费观看伊人三级电影
|
狠狠亚洲婷婷综合色香五月排名
|
性做久久久久久久免费看
|
亚洲最大av资源站无码av网址
|
日本免费福利视频
|
精品无码国产污污污免费网站国产
|
妞干网在线免费视频
|
免费国产va视频永久在线观看
|
亚洲永久无码3D动漫一区
|
精品无码无人网站免费视频
|
亚洲日本VA午夜在线影院
|
久久精品国产亚洲精品
|
成人免费大片免费观看网站
|
亚洲国产精品无码久久九九大片
|
亚洲综合色婷婷七月丁香
|
黄色成人免费网站
|
四虎影视久久久免费观看
|
少妇中文字幕乱码亚洲影视
|
日韩在线看片免费人成视频播放
|
鲁丝片一区二区三区免费
|