[語法] 如何新增一個node的位址

看板C_and_CPP作者 (severus)時間14年前 (2010/05/27 12:45), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
我用的是C語言 我目標是建立一個BST(Binary Search Tree) 呼叫Insert(Node *root, Node *x)可以新增一個node 以下是一部份的程式碼 typedef struct node{ int key; struct node *right; struct node *left; struct node *parent; } Node; fscanf(input, "%d", &num); (從文件讀入node裡的值) (Node *)malloc(sizeof(Node)); ... (這裡我不知道要加入什麼code讓他每次產生一個新位址) newnode->key = num; (假設新位址是newnode) Insert(r, newnode); (r是root的位址) 我的問題是 要如何在每次呼叫Insert()時建立一個新的位址 假如用Node *newnode建立一個新位址(我之前想到的方法) 我覺得會變成每次在宣告時把前一個位址蓋掉 但因程式還有一些其他的問題 所以無法確認以上方法是否正確 所以上來請教大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.48.111

05/27 12:54, , 1F
就用你想的方法 蓋掉就算了 反正已經在TREE裡面了
05/27 12:54, 1F

05/27 12:57, , 2F
Node *newnode = (Node *)malloc(sizeof(Node)); /*?*/
05/27 12:57, 2F
文章代碼(AID): #1B_VZMrl (C_and_CPP)