//1.把二元查詢樹轉變成排序的雙向鍊錶
//題目:
//輸入一棵二元查詢樹,將該二元查詢樹轉換成乙個排序的雙向鍊錶。
//要求不能建立任何新的結點,只調整指標的指向。
//// 10
// / /
// 6 14
// / / / /
// 4 8 12 16
//// 轉換成雙向鍊錶
// 4 = 6 = 8 = 10 = 12 = 14 = 16。
//struct bstreenode
//;// 建立二叉查詢樹
#include
#include
using namespace std;
struct bstreenode
;bstreenode *phead =
null;
bstreenode *pindex =
null;
void addbstreenode(bstreenode*
&pcurrent, int value)
else
if (pcurrent->m_nvalue > value)
return addbstreenode(pcurrent->m_pleft, value);
else
if (pcurrent->m_nvalue < value)
return addbstreenode(pcurrent->m_pright, value);
}void convert(bstreenode*p)
void inoderbstreenode(bstreenode*root)
int main()
微軟面試100題
41.求固晶機的晶元查詢程式 晶元盤由數目不詳的大小一樣的晶元組成,晶元並不一定全布滿晶元盤,照相機每次這能匹配乙個晶元,如匹配過,則拾取該晶元,若匹配不過,照相機則按測好的晶元間距移到下乙個位置。求遍歷晶元盤的演算法 求思路。兩個非降序鍊錶的並集,1 2 3 和 2 3 5 並為 1 2 3 5 ...
微軟面試100題 64
64.尋找醜數 運算 題目 我們把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第1500個醜數。分析 這是一道在網路上廣為流傳的面試題,據說google曾經採用過這道題。package...
微軟面試100題 9
題目 輸入乙個整數陣列,判斷該陣列是不是某二元查詢樹的後序遍歷的結果。如果是返回true,否則返回false。例如輸入5 7 6 9 11 10 8,由於這一整數序列是如下樹的後序遍歷結果 8 6 10 5 7 9 11 因此返回true。如果輸入7 4 6 5,沒有哪棵樹的後序遍歷的結果是這個序列...