[問題] 關於改變指標內容的疑問

作者: o07608 (無良記者)   2015-05-25 10:30:16
這應該是很基本的問題,不過我觀念不太好,搞不太清楚,想請教大家
假設我現在要建一棵樹,寫了如下的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
請大家不吝幫助我釐清這些觀念,感謝
作者: BlazarArc (Midnight Sun)   2015-05-25 11:27:00
你都有code run run 看不就知道了?
作者: o07608 (無良記者)   2015-05-25 11:30:00
恩...我蠢了,沒有想過自己先跑跑看

Links booklink

Contact Us: admin [ a t ] ucptt.com