?? 7_3_1.c
字號(hào):
/* ======================================== */
/* 程式實(shí)例: 7_3_1.c */
/* 二叉樹的數(shù)組表示法 */
/* ======================================== */
/* ---------------------------------------- */
/* 建立二叉樹 */
/* ---------------------------------------- */
void createbtree(int *btree,int *data,int len)
{
int level; /* 樹的階層 */
int i;
btree[1] = data[1]; /* 建立根節(jié)點(diǎn) */
for ( i = 2; i <= len; i++ ) /* 用回路建立其它節(jié)點(diǎn) */
{
level = 1; /* 從階層1開始 */
while ( btree[level] != 0 ) /* 是否有子樹 */
{
if ( data[i] > btree[level] ) /* 是左或右子樹 */
level = level * 2 + 1; /* 右子樹 */
else
level = level * 2; /* 左子樹 */
}
btree[level] = data[i]; /* 存入節(jié)點(diǎn)數(shù)據(jù) */
}
}
/* ---------------------------------------- */
/* 主程式: 建立數(shù)組的二叉樹. */
/* ---------------------------------------- */
void main()
{
int btree[16]; /* 二叉樹數(shù)組 */
/* 二叉樹節(jié)點(diǎn)數(shù)據(jù) */
int data[10] = { 0, 5, 6, 4, 8, 2, 3, 7, 1, 9 };
int i;
for ( i = 1; i < 16; i++ ) /* 清除二叉樹數(shù)組 */
btree[i] = 0;
createbtree(btree,data,9); /* 建立二叉樹 */
for ( i = 1; i < 16; i++ ) /* 列出二叉樹內(nèi)容 */
printf("%2d: [%d] \n",i,btree[i]);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -