(六決)藍橋真題 顯示二叉樹

2021-09-11 10:35:04 字數 1236 閱讀 9918

排序二叉樹的特徵是:

某個節點的左子樹的所有節點值都不大於本節點值。

某個節點的右子樹的所有節點值都不小於本節點值。

為了能形象地觀察二叉樹的建立過程,小明寫了一段程式來顯示出二叉樹的結構來。

#include

#include

#define n 1000

#define height 100

#define width 1000

struct bitree

;int max(int a, int b)

struct bitree* init(struct bitree* p, int v)

void add(struct bitree* me, struct bitree* the)

else

}//獲得子樹的顯示高度    

int getheight(struct bitree* me)

//獲得子樹的顯示寬度    

int getwidth(struct bitree* me)

int getrootpos(struct bitree* me, int x)

//把緩衝區當二維畫布用 

void printinbuf(struct bitree* me, char buf[width], int x, int y)

void showbuf(char x[width])

if(x[i][0])    printf("%s\n",x[i]);

else break;}}

void show(struct bitree* me)

對於上邊的測試資料,應該顯示出:

|/--------------500---\

|                           |

/--200---\              /--509\

|            |              |         |

100   /--250---\     507   600\

|             |                    |

220   /--450                650

|440

請分析程式邏輯,填寫劃線部分缺失的**。

注意,只填寫缺少的部分,不要填寫已有的**或符號,也不要加任何說明文字。

printinbuf(me->r,buf,p2+strlen(sv),y+2)

(六決)藍橋真題 穿越雷區

x星的坦克戰車很奇怪,它必須交替地穿越正能量輻射區和負能量輻射區才能保持正常運轉,否則將報廢。某坦克需要從a區到b區去 a,b區本身是安全區,沒有正能量或負能量特徵 怎樣走才能路徑最短?已知的地圖是乙個方陣,上面用字母標出了a,b區,其它區都標了正號或負號分別表示正負能量輻射區。例如 a b 坦克車...

藍橋杯 顯示二叉樹

排序二叉樹的特徵是 某個節點的左子樹的所有節點值都不大於本節點值。某個節點的右子樹的所有節點值都不小於本節點值。為了能形象地觀察二叉樹的建立過程,小明寫了一段程式來顯示出二叉樹的結構來。include include define n 1000 define height 100 define wi...

藍橋杯真題 完全二叉樹的權值

給定一棵包含 n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從上到下 從左到右的順序依次是 a1,a2,an,如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根的深度是 1。輸入格式 第一行包...