成人学院中文字幕,国产午夜麻豆影院在线观看,久久男人免费视频,久久精品美女视频,www.福利视频,蜜桃一本色道久久综合亚洲精品冫,欧美三级视频

軟題庫 移動APP 掃碼下載APP 隨時隨地移動學習 培訓課程
試卷名稱 2005年上半年程序員考試下午真題試題(案例分析)
考試中心《2005年上半年程序員考試下午真題試題(案例分析)》在線考試
試卷年份2005年上半年
試題題型【分析簡答題】
試題內容

一棵非空二叉樹中“最左下”結點定義為:若樹根的左子樹為空,則樹根為“最左下”結點;否則,從樹根的左子樹根出發(fā),沿結點的左孩子分支向下查找,直到某個結點不存在左孩子時為止,該結點即為此二叉樹的“最左下”結點。例如:下圖所示的以A為根的二叉樹的“最左下”結點為D,以C為根的子二叉樹中的“最左下”結點為C。二叉樹的結點類型定義如下:
typedef struct BSTNode {
int data ;
struct BSTNode *lch , *rch; //結點的左、右孩子指針
} *BSTree;

函數BSTree Find_Del (BSTree root )的功能是:若root指向一棵二茶樹的根結點,則找出該結點的右子樹上的“最左下”結點 *p,并從樹中刪除以 *p為根的子樹,函數返回被刪除子樹的根結點指針;若該樹根的右子樹上不存在“最左下”結點,則返回空指針。
【函數】
BSTree Find_Del (BSTree root)
{  BSTree p, pre;
If ( !root ) return NULL; /* root 指向的二叉樹為空樹 */
___(1)___ ; /* 令p指向根結點的右子樹 */
if ( !p ) return NULL;
___(2)___ ; /* 設置 pre 的初值 */
while ( p -> lch ) { /* 查找“最左下”結點 */
pre = p ; p = __(3)__ ;
}
if ( __(4)__ = = root ) /* root的右子樹根為“最左下”結點*/
pre -> rch =NULL;
else
__(5)__ = NULL; /* 刪除以“最左下”結點為根的子樹*/
return p;
}


相關試題

推薦文章
合作網站內容