sorted linked list里insert一个node# JobHunting - 待字闺中
P*c
1 楼
programming perls里13章第4题的答案里说可以这样
void insert (t) {
for(p=&head; (*p)->val < t; p= & ((*p)->next))
;
if((*p)->val==t)
return;
*p = new node (t, *p);
n++;
}
书里的意思似乎是说因为用了pointer to pointer, 就不需要update老的parent的next
了。为什么会这样呢?没想明白。即使pointer to pointer,原来那个位置的parent的
next必须指向新的node, 也就是新的*p啊。虽然p没变,但是*p变了还是不行的吧。后
面第7题又用了类似的方法。是不是我有一个memory的基本东西没转过弯来呢。
void insert (t) {
for(p=&head; (*p)->val < t; p= & ((*p)->next))
;
if((*p)->val==t)
return;
*p = new node (t, *p);
n++;
}
书里的意思似乎是说因为用了pointer to pointer, 就不需要update老的parent的next
了。为什么会这样呢?没想明白。即使pointer to pointer,原来那个位置的parent的
next必须指向新的node, 也就是新的*p啊。虽然p没变,但是*p变了还是不行的吧。后
面第7题又用了类似的方法。是不是我有一个memory的基本东西没转过弯来呢。