看板 C_and_CPP 關於我們 聯絡資訊
這應該是很基本的問題,不過我觀念不太好,搞不太清楚,想請教大家 假設我現在要建一棵樹,寫了如下的struct struct node{ int element; node *leftChild; //指到left child node *rightChild; //指到right child node *prev; //指到parent } 然後依此new出了十個node a~j 我先把這十個node 按照順序push_back到一個vector<node*> reg1裡 再把這十個node按照順序存到一個陣列 node* reg2[10]裡 並且用迴圈做如下操作: for(int i = 0; i < 10; i++) reg2[i]->element = i; a / \ 接著用reg2裡的內容建了一棵樹,假設其中一個地方是 b c 那請問我能夠做以下操作嗎: cout << reg1[0]->element; //印出node a的element,理論上應該要是0 cout << reg1[1]->prev->element; //印出node a的element,理論上應該要是0 cout << reg1[2]->prev->leftChild->element; //印出node b的element, //理論上應該要是1 請大家不吝幫助我釐清這些觀念,感謝 -- 到那時,在壁爐邊,當孫子坐在某位老人的膝蓋上,問道:「爺爺,你在亡靈天災入侵的 時候幹什麼呢?」 而他不用尷尬地干咳一聲,把孫子移到另一個膝蓋上,吞吞吐吐地說 :「啊……爺爺我當時在清淨農場挖牛糞。」與此相反,他可以直盯著他的眼睛理直氣壯 地說: 「孫子,爺爺我當年在立法院議場和那個狗娘養的三百暴民並肩作戰!」 ~《太陽花全書》 第一章第二節 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.90.200 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432521020.A.E9D.html
BlazarArc: 你都有code run run 看不就知道了? 05/25 11:27
o07608: 恩...我蠢了,沒有想過自己先跑跑看 05/25 11:30