填空題

下面算法實(shí)現(xiàn),用一棵二叉樹中的結(jié)點(diǎn)建立一個(gè)按關(guān)鍵字值從小到大次序排列的帶表頭結(jié)點(diǎn)的雙向循環(huán)鏈表。二叉樹的結(jié)點(diǎn)結(jié)構(gòu)如下所示:

其中,p是指向結(jié)點(diǎn)的指針;p->key表示結(jié)點(diǎn)的關(guān)鍵字域,p->left和p->right分別表示結(jié)點(diǎn)的左、右孩子的指針域。
void fromtreetolist(p,l)
/*p,h是指向二叉樹中結(jié)點(diǎn)的指針,*/
/*l是指向雙向循環(huán)鏈表表頭結(jié)點(diǎn)的指針*/
{if (p!=NULL)
{ fromtreetolist(p->left,l);
fromtreetolist(p-> right,l);
h=l;
while (h->right!=l)&&(h->right->keykey)h=h->right;
p->right=h->right;
p->left=h;
();
h->rihght=p;
}
}
void buildlisttree(root,l)
/*root是指向二叉樹根結(jié)點(diǎn)的指針,*/
/*l是指向雙向循環(huán)鏈表表頭結(jié)點(diǎn)的指針*/
{l=(struct nodetype *)malloc(sizeof(struct nodetype));
l->left=l;
l->right=l;
fromtreetolist(root,l);
}


您可能感興趣的試卷

你可能感興趣的試題

最新試題

已知帶頭結(jié)點(diǎn)的鏈隊(duì)列指針Q,則該隊(duì)列做新元素結(jié)點(diǎn)s進(jìn)隊(duì)操作的語句是()

題型:單項(xiàng)選擇題

若無向圖中任意兩個(gè)不同的頂點(diǎn)間都有路徑,則稱該圖為()。

題型:填空題

一個(gè)抽象類型包括數(shù)據(jù)對象、()和一組處理數(shù)據(jù)的操作。

題型:單項(xiàng)選擇題

某圖的鄰接表存儲結(jié)構(gòu)如下圖所示,則從6號點(diǎn)出發(fā),深度優(yōu)先遍歷的序列是()

題型:單項(xiàng)選擇題

已知帶頭結(jié)點(diǎn)的鏈隊(duì)列指針Q,則該非空隊(duì)列取隊(duì)頭元素操作的語句是()

題型:單項(xiàng)選擇題

下列可以直接用循環(huán)結(jié)構(gòu)即可將遞歸轉(zhuǎn)換為非遞歸的是()

題型:多項(xiàng)選擇題

順序表中有10個(gè)數(shù)據(jù)元素,若第一個(gè)元素的存儲地址是1000,則最后一個(gè)元素地址是1036,第5個(gè)元素的地址是()

題型:單項(xiàng)選擇題

對關(guān)鍵字{28,16,32,12,60,2,5,72}進(jìn)行快速排序,第一趟以28為樞軸產(chǎn)生的劃分結(jié)果為()

題型:單項(xiàng)選擇題

在打印楊輝三角形前N行的算法中,需要申請一個(gè)N*N的二維數(shù)組存放楊輝三角形N行數(shù)據(jù)。

題型:判斷題

若三維數(shù)組a[4][5][6]的基地址是100,每個(gè)元素占用2個(gè)存儲單元,則數(shù)組a中最后一個(gè)元素的存儲地址是()。

題型:填空題