【发布时间】:2016-04-11 16:23:50
【问题描述】:
void insert(list **l, int x)
{
list *p;
p = malloc(sizeof(list));
p->item = x;
p->next = *l;
*l=p;
}
为什么我们使用双指针?我们能用单指针做同样的事情吗?我在《算法设计手册》第 69 页第 2 版一书中看到了这个例子。
列表基本上是节点,仅供参考。
【问题讨论】:
-
这会将新节点添加到列表中(实际上是一个堆栈)。 调用者需要以某种方式获取指向新列表头的指针。这是做到这一点的一种方法。另一个是让函数始终返回列表头。
标签: c algorithm linked-list