大家好,最近在試著學習java,關於參考變數的運用有點疑問,想向各位先進求教:
1 private Node Root;
2
3 public BTree() {
4 Root = null;
5 }
6
7 public void Insert(int TData) {
8 Insert( Root, TData);
9 return ;
10 }
11
12 private void Insert( Node NowNode, int TData) {
13 if(NowNode==null) {
14 NowNode = new Node();
15 NowNode.Data = TData;
16 }
17 ...
18 return ;
19 }
我本來希望在14與15行改變root的內容,但是這寫法是錯的,上網查閱一些資料後得知
因為 NowNode 只是 root 這個參考的複製品,所以一但脫離 12~19 行這個範圍它就消
失了。
因為 Insert( Node, int) 這個方法會用到遞迴結構,而每次傳入的 Node 都不同,請
問 java 之中有方法可以讓我在 Insert( Node, int) 之中改變 NowNode 的本體嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.72.212.239
推
02/04 19:10, , 1F
02/04 19:10, 1F
→
02/04 19:36, , 2F
02/04 19:36, 2F
→
02/04 19:38, , 3F
02/04 19:38, 3F
→
02/04 19:41, , 4F
02/04 19:41, 4F
→
02/04 19:43, , 5F
02/04 19:43, 5F
→
02/05 13:42, , 6F
02/05 13:42, 6F
討論串 (同標題文章)